مهدی عزیزی

۶ مطلب با کلمه‌ی کلیدی «SQL» ثبت شده است

نرمال سازی(normalization) دیتابیس

به طور خلاصه میشه گفت که نرمال سازی یعنی هر چیزی سرجای خودش باشد. که دارای سه فرم(شکل) اصلی است :

شکل 1NF

اولین فرم نرمال‌سازی می‌باشد که در آن سعی می‌شود داده‌ها و اطلاعات مربوط به موجودیت‌های مستقل در واحدهای مستقل در واحدهای مستقل موسوم به جدول ذخیره گردد در این حالت جدول زمانی نرمال خواهد بود که شرایط زیر را داشته باشد،

  1. نوع داده‌ها و اطلاعات در هر ستون یکسان باشد.
  2. محتویات هر ستون یک مقدار مشخص باشد اتمیک باشد.
  3. هر سطر از جدول منحصربه‌فرد باشد به این منظور می‌توان از قید کلید اصلی یا PK استفاده نمود.
شکل 2nf

یک جدول در فرم دوم نرمال است اگر شرایط زیر را داشته باشد:

  1. در فرم اول نرمال باشد.
  2. کلید ستون‌های غیر کلید وابستگی تابعی کامل به کلیه ستون‌های کلید داشته باشد.
شکل 3nf

یک رابطه در فرم سوم نرمال است اگر شرایط زیر را داشته باشد

  1. در فرم اول و دوم نرمال باشد
  2. فاقد وابستگی‌های با واسطه باشد

لازم به ذکر است که فرم های دیگری هم وجود دارد ولی این 3 اصلی ترین فرم های نرمال سازی است.

۱۷ بهمن ۹۲ ، ۱۵:۰۴ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

Collation

 Collation برای این منظور بکار برده می شود که بتوانیم اطلاعات رشته ای رو به صورتی کارامد تر ذخیره و بازیابی و سرچ کنیم. این زمانی که شرکت ها تصمیم به پشتیبانی از زبان های غیر انگلیسی گرفتند، شروع شد.

از جایی که زبان انگلیسی با احتساب حروف کوچک در نهایت 52 حرف دارد، مضاف بر علائم کنترلی و نگارشی و اعداد در نهایت 128 کاراکتر قرارداد شد و برای هر کدام کدی اختصاص داده شد.

از اونجایی هم که برای ذخیره 128 نماد نیاز به 7 بیت هست و تعداد بیت ها می باید مضربی از 8 می بود، از 8 بیت یا یک بایت برای ذخیره استفاده کردند.

برای 128 فضای خالی باقی مونده هم از علائمی استفاده کردند که بتوانند به صورت ساده گرافیک و جدول را پیاده کنند و پرینت بگیرند.

در حالت فارسی هم از همون فضای کاراکتر های چاپی استفاده می کردند.

تا این جا مشکلی نبود اما با ورود زبانهای دیگر به کامپیوتر یک بایت اضافی هم در نظر گرفته شد. این بایت در حقیقت نمایانگر زبان مورد استفاده بود.

یعنی مثلا اگر کاراکتر 186 علامت || در زبان استاندارد ASCII بود این بار اگر کد پیج (همون کاراکتر اضافی) روی زبانی غیر از انگلیسی بود این کاراکتر به معنی مثلا آلفا می شد.

این کاراکتر برای زبان استاندارد صفر و برای زبان فارسی 6 در نظر گرفته شد. (254 هم هست)

می تونید برای اطلاعات بیشتر از برنامه CharMap خود ویندوز جریان رو ببینید.(در Run تایپ کنید)

در برنامه نوت پد هم در حالتی که بخواهید در استاندارد جدید (UniCode) متنتون رو ذخیره کنید خواهید دید که حجم جدید به دو برابر + 2 بایت اضافی برای هدر تشخیص افزایش خواهد یافت.

در اس کیو ال هم جریان مشابهی هست.

در حالت استاندارد اسکی برای هر کاراکتر یک بایت در نظر گرفته خواهد شد که انواع داده ای Char, Text, VarChar از همین نوعند.

اگر قرار باشد که حروف فارسی رو ذخیره کنید کدپیج کجا ذخیره می شد؟

ادامه مطلب...
۰۵ بهمن ۹۲ ، ۱۶:۰۰ ۲ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

روش های برنامه نویسی

انواع مدل های برنامه نویسی

  • ساخت یافته که متضاد آن عدم ساخت یافته است.
    • ساخت یافته : ماژولار - شی گرا
    • غیر ساخت یافته : آرایه ای ، تکراری

  • دستوری(imperative) که متضاد آن توصیفی(declarative) است.
    • دستوری : Procedural
    • توصیفی : functional - logic

۱۶ آذر ۹۲ ، ۲۳:۱۳ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

Entity Framework چیست؟

یکی از زیر مجموعه های ORM محسوب می شود. یکی از مزایای آن سطح یادگیری بسیار ساده آن می باشد. در واقع کار با EF نسبت به دیگر ORM ها ساده تر می باشد. به عنوان مثال پشتیبانی از دیتا بیس های مختلف مثل SQL, Oracle, Access و غیره می باشد. EF با نصب ویژوال استودیو به صورت خودکار نصب می شود. شکل زیر نمای کلی آنرا نشان می دهد :

ORM تکنیکی در برنامه نویسی شیء گرا برای تبدیل داده های ناسازگار به زبان ساده برنامه نویسی می‌باشد. به زبان ساده تر این تکنیک‌ها به برنامه نویس اجازه میدن که به جای کار با زبان و نوع داده بانک اطلاعاتی از زبان و نوع داده زبان برنامه نویسی برای ارتباط با پایگاه داده استفاده کند.

البته قابل ذکر

ادامه مطلب...
۰۷ مرداد ۹۲ ، ۱۹:۱۰ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

ORM چیست؟

ORM یا Object-relational mapping یک تکنیک برنامه نویسی برای ارتباط بین دیتا بیس و برنامه شئ گرای ما می باشد. مهمترین مزیت ORM ها این است که عملیات CRUD یا Create-Read-Update-Delete را به راحتی برای ما انجام می دهند.

زمان به ما ثابت کرده که پایگاه داده‌های رابطه‌ای ساختار مناسبی برای ذخیره‌سازی داده‌ای هستند، همچنین به این نتیجه رسیده‌ایم که برنامه‌نویسی شیءگرا یک رویکرد بسیار خوب و قوی برای پیاده‌سازی سیستم‌های بسیار پیچیده می‌باشد.

ORM عملا یک لایه

ادامه مطلب...
۰۷ مرداد ۹۲ ، ۱۸:۲۴ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

SQL Server 2012

یکی از مباحث مهم در دنیای فناوری اطلاعات چگونگی ذخیره داده‌ها و اطلاعات است. قبل از به‌وجود آمدن نرم‌افزارهای مدیریت پایگاه داده‌ها (Data Base) اطلاعات به صورت فایل ذخیره می‌شد. این روش علاوه بر مدیریت دشوار، از امنیت پایینی برخوردار است. برای بهبود ضعف‌های روش فایلینگ، در دهه 1960 روش‌های مدیریت پایگاه داده‌ها به وجود آمد. می‌توان گفت همه نرم‌افزارهای امروزی از پایگاه داده‌ها برای ذخیره و بازیابی داده‌ها استفاده می‌کنند.

یکی از نرم‌افزارهای مدیریت پایگاه داده‌ها ـ که جزو پرکاربردترین آنها نیز هست ـ SQL Server شرکت مایکروسافت است. این شرکت، منبع کد MS SQL را از شرکت Sybase خریداری کرد تا در دنیای نرم‌افزارهای پایگاه داده‌های بزرگ با شرکت‌هایی نظیر Oracle و IBM رقابت کند. سال 1989 اولین نسخه SQL Server با کمک Sybase وارد بازار شد. اولین نسخه‌های جدی و قابل رقابت مایکروسافت مربوط به 7 SQL Server و 2000 است که این نسخه‌ها نیز با همکاریSybase تولید می‌شد.

نسخه بعدی 2005 MS SQL Server است که کدهای آن کاملا بازنویسی شده بود. در تولید این نسخه از همکاری Sybase خبری نبود. دلیل وقفه پنجساله در ارائه نسخه جدید هم این بود که این بار نمونه‌ای متفاوت با ویژگی‌های پیشرفته‌تر در دسترس توسعه‌دهندگان نرم‌افزار قرار گیرد.

زبان اسکریپت‌نویسی استفاده‌شده در این محصول ( T-SQL(Transact Structured Language است که در نسخه‌های گوناگون پیشرفت‌های قابل توجهی داشته و کار را برای برنامه‌نویسان آسان کرده است.

در ادامه به بررسی و نسخه‌های MS SQL Server می‌پردازیم و ویژگی‌های هر یک را بیان می‌کنیم.

ادامه مطلب...
۲۲ آذر ۹۱ ، ۲۳:۲۷ ۰ نظر موافقین ۱ مخالفین ۰
مهدی عزیزی