بعد: انواع داده
نحوه کار جداول، ردیفها، ستونها و کلیدها با هم برای ساخت یک پایگاه داده.
مرور کوتاه پایگاههای داده
نحوه کار جداول، ردیفها، ستونها و کلیدها با هم برای ساخت یک پایگاه داده.
اگر میخواهید شروع به استفاده از متابیس کنید، دانستن چند اصطلاح کلیدی پایگاه داده مفید است.
جداول
اساساً، پایگاههای داده از یک یا چند جدول تشکیل شدهاند. جداول شامل یک یا چند ستون و یک یا چند ردیف هستند. یک ردیف از سلولها تشکیل شده است، و هر سلول یک مقدار دارد که با ستونی که زیر آن قرار میگیرد مطابقت دارد.
در اینجا یک مثال از یک جدول:
| Name | Age |
|---|---|
| John | 25 |
| Jenny | 31 |
در اینجا، ستونها Name و Age هستند. ردیف اول شامل دو سلول است، یکی با John و یکی با 25، که به ترتیب با ستونهای Name و Age مطابقت دارد.
ستونها
همه سلولها در یک ستون شامل همان نوع اطلاعات هستند. به عنوان مثال، در جدول نمونه بالا، ستون Name شامل نامها در هر سلول است، در حالی که ستون Age سنها را فهرست میکند.
هر فیلد یک نوع دارد که نوع داده ذخیره شده در فیلد را توصیف میکند.
ستونها در مقابل فیلدها
یک یادداشت درباره ستونها و فیلدها، چون این اصطلاحات میتوانند به جای یکدیگر استفاده شوند:
- یک فیلد یک عنصر برای ذخیره داده است (مثلاً فیلد
PRODUCT_IDکدهای شناسایی محصولات را ذخیره میکند). - یک ستون فهرستی از مقادیر است، و اغلب فهرستی از مقادیر از یک فیلد واحد (مثلاً ستون
PRODUCT_IDمقادیر از فیلدPRODUCT_IDرا ذخیره میکند). با این حال، یک ستون همچنین میتواند فهرستی از مقادیر از چندین فیلد باشد. به عنوان مثال، یک ستون ممکن است شامل مقادیر از یک عبارت که تفاوت مقادیر از دو فیلد مختلف را محاسبه میکند باشد: یک ستونTOTAL_WITH_DISCOUNT، به عنوان مثال، میتواند مقادیر از فیلدDISCOUNTرا بگیرد و آنها را از مقادیر در فیلدSUBTOTALکم کند، و تفاوت را فهرست کند.
در متابیس (و جاهای دیگر) اغلب میبینید این دو اصطلاح به جای یکدیگر استفاده میشوند، چون در بیشتر موارد یک ستون به داده از یک فیلد واحد اشاره میکند.
کلیدها
یک کلید اصلی (همچنین به عنوان entity key شناخته میشود) یک فیلد در یک جدول است که هر ردیف را به طور منحصر به فرد شناسایی میکند. به عنوان مثال، یک اپلیکیشن رزرو ماشین را تصور کنید که میتوانید یک ماشین را از قبل رزرو کنید. ID رزرو میتواند شماره رزرو باشد، و هیچ دو رزروی شماره رزرو یکسانی ندارند، که به هر رزرو امکان شناسایی منحصر به فرد با شماره رزرو خود را میدهد.
مثال
جدول رزروها
| Reservation ID | Name | Age |
|---|---|---|
| 11 | John | 25 |
| 12 | Jenny | 31 |
در جدول بالا، فیلد Reservation ID ID (کلید اصلی) است.
رابطهها بین جداول
جداول میتوانند شامل ارجاعات به جداول دیگر باشند، که یک رابطه بین آنها برقرار میکند.
بیایید پایگاه داده اپلیکیشن رزرو ماشین فرضی خود را گسترش دهیم. میتوانستیم دو جدول داشته باشیم: یکی برای رزروها (بیایید آن را Reservations بنامیم) و یکی برای مشتریان (این یکی را Customers مینامیم).
برای اتصال داده رزرو به داده مشتری مربوط، از یک کلید خارجی استفاده میکنیم. یک کلید خارجی نوع خاصی از فیلد در یک جدول است که به یک ستون با مقادیر مطابق در یک جدول متفاوت ارجاع میدهد. تقریباً همیشه، فیلدی که کلید خارجی به آن اشاره میکند ID یا کلید اصلی در جدول دیگر است.
در این مورد، هر رکورد در جدول Reservations را به رکورد مشتری مربوط که آن رزرو را انجام داده متصل میکنیم. برای انجام این کار، یک ستون Customer در جدول Reservations ایجاد میکنیم که مقادیر آن با مقادیر ستون ID در جدول Customers مطابقت دارد.
Reservations
| Customer | Date | Car |
|---|---|---|
| 11 | 12/20/2015 | Toyota Camry |
| 12 | 1/2/2016 | Range Rover |
Customers
| ID | Name | Age |
|---|---|---|
| 11 | John | 25 |
| 12 | Jenny | 31 |
در حالی که رابطه داخلی بین کلیدهای اصلی و خارجی کار را برای کاربران پایگاه داده آسانتر میکند، بیشتر پایگاههای داده به شما امکان میدهند یک join بین دو جدول انجام دهید حتی اگر رابطه کلیدی وجود نداشته باشد. راهنماهای ما درباره انواع مختلف joinهای SQL و نحوه استفاده از joinها در متابیس را بررسی کنید.
حالا اگر میخواستیم پایگاه داده اپلیکیشن فرضی خود را با متابیس تحلیل کنیم، میتوانستیم یک سؤال بپرسیم، مثل: میانگین سن همه مشتریانی که در دسامبر 2015 رزرو انجام دادند چیست؟
برای انجام این کار، جدول Reservation را باز میکردیم، یک فیلتر اضافه میکردیم تا فقط رزروهای بین 1 دسامبر و 31 دسامبر 2015 را ببینیم، و Average of… را انتخاب میکردیم. برای انتخاب میانگین Age به طور خاص، از کلید خارجی خود استفاده میکردیم و Age را از جدول Customers که جدول Reservations ما به آن ارجاع میدهد انتخاب میکردیم.
بعد: انواع داده
حالا که درک پایهای از پایگاههای داده داریم، بیایید بیشتر درباره انواع داده یاد بگیریم.