مروری بر مفاهیم بانک اطلاعاتی

گاهی اوقات لازم است که آدم به عقب برگشته و بعضی مفاهیم که قبلاً بلد بوده را دوباره مرور کند. یک سری از این مفاهیم که همیشه مورد نیاز هستند مربوط هستند به مفاهیم دیتابیس. فهرست زیر تعدادی از آنها را شامل می‌شود.

integrity – جامعیت
صحت داده‌ها، مثلاً موجودی حساب بانکی منفی نباشد

Domain Integrity – جامعیت دامنه‌ای
یعنی تمام صفات در تمام رابطه‌ها از نوع دامنه خود باشند. مثلاً تعداد فرزندان یک شخص نباید اعشاری باشد.

Intra-relation Integrity – جامعیت درون رابطه‌ای
یعنی هر رابطه‌ای به تنهایی صحیح باشد. مثلاً همه کلیدهایش درست باشد.

Referential Integrity – جامعیت ارجاع
یعنی کلید خارجی درست تعریف شده باشد. مثلاً کلید خارجی یک رابطه حتماً در رابطه دیگر کلید باشد.

consistency – هم خوانی
اطلاعات مختلف سیستم با هم در تضاد نباشد. مثلاً نام شخص در جاهای مختلف سیستم یکی باشد.

impedance mismatch – ناهمگونی مانع
همان تفاوتی که بین زبان SQL و C#‎ وجود دارد و ORMها مدعی حل آن هستند.

Super Key – ابرکلید
هر ترکیبی از صفت‌ها که خاصیت کلید داشته باشد. این کلید کمینه نیست. یعنی زیر مجموعه‌ای از آن هم می‌تواند کلید باشد. مثل «شماره دانشجویی» و «شمار دانشجویی و نام دانشجو»

Candidate Key – کلید کاندید
هر ترکیبی از صفت‌ها که کلید کمینه باشد. یک رابطه ممکن است چند کلید کاندید داشته باشد.

Primary Key – کلید اصلی
یکی از کلیدهای کاندید است که توسط مدیر بانک اطلاعات انتخاب شده.

Alternative Key, Secondary Key – کلید فرعی
یکی دیگر از کلیدهای کاندید است که برای برخی کاربردها انتخاب می‌شود.

Foreign Key – کلید خارجی
صفتی است در یک رابطه که در رابطه‌ی دیگری کلید اصلی (یا فرعی) است و برای برقراری ارتباط بین دو رابطه استفاده می‌شود.

Projection پرتو
انتخاب تعداد محدودی از ستون‌ها نه همه آنها

Having
اعمال شرط روی دستورات Group By

Normalization – نرمال سازی
از بین بردن افزونگی داده‌ها (Data Redundancy) با استفاده از فرم‌های نرمال‌سازی 1NF، 2NF و 3NF و گاهی اوقت BCNF

ضرب دکارتی
select * from city, country

join و inner join
هر دو یکی هستند. به معنی پیوند دو جدول با لحاظ شرط مربوطه

left join و left outer join
هر دو یکی بوده و مثل inner join عمل می‌کند منتها سمت چپ رابطه را همیشه می‌آورد حتی اگر به ازای آن چیزی وجود نداشته باشد.

right join و right outer join
برعکس right join

full outer join
ترکیب left join و right join

منابع:

Comments

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *