ایجاد پایگاه داده ها و جداول در SQL

ایجاد پایگاه داده

آیا شما آماده شروع به ایجاد پایگاه داده ها و جداول با زبان پرس و جو ساخت یافته هستید؟ در این مقاله، ما روند ایجاد جداول را به صورت دستی با دستورات CREATE DATABASE و CREATE TABLE بررسی می کنیم. اگر شما به SQL جدید هستید، ابتدا باید ابتدا مقاله SQL Basics خود را مرور کنید.

نیازمندی های کسب و کار

قبل از اینکه ما در صفحه کلید نشسته باشیم، باید اطمینان حاصل کنیم که درک درستی از نیازهای مشتری داشته ایم. بهترین راه برای به دست آوردن این بینش چیست؟ البته، صحبت کردن با مشتری! پس از نشستن با مدیر منابع انسانی XYZ، متوجه شدیم که آنها یک شرکت فروش ویجت هستند و عمدتا علاقه مند به ردیابی اطلاعات پرسنل فروش هستند.

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

انتخاب پایگاه داده پایگاه داده

ما تصمیم گرفتیم از یک سیستم مدیریت پایگاه داده (یا DBMS) استفاده کنیم که بر اساس Query Language Structured Query (SQL) ساخته شده است. بنابراین، تمام دستورات ایجاد پایگاه داده و جدول ما باید با استاندارد ANSI SQL نوشته شود.

به عنوان یک مزیت اضافه شده، با استفاده از ANSI-compliant SQL اطمینان حاصل خواهد کرد که این دستورات بر روی هر DBMS که از استاندارد SQL پشتیبانی می کند ، از جمله Oracle و Microsoft SQL Server کار خواهند کرد. اگر هنوز پلتفرمی را برای پایگاه داده خود انتخاب نکرده اید، مقالات پایگاه داده نرم افزار مقاله شما را از طریق فرایند انتخاب می کند.

ایجاد پایگاه داده

اولین گام ما ایجاد پایگاه داده است. بسیاری از سیستم های مدیریت پایگاه داده مجموعه ای از گزینه هایی را برای سفارشی کردن پارامترهای پایگاه داده در این مرحله ارائه می دهند، اما پایگاه داده ما فقط ایجاد ساده پایگاه داده را اجازه می دهد. همانطور که با تمام دستورات ما، ممکن است بخواهید به مستندات DBMS خود مراجعه کنید تا تعیین کنید که آیا پارامترهای پیشرفته پشتیبانی شده توسط سیستم خاص شما نیازهای شما را برآورده می کنند. اجازه دهید از دستور CREATE DATABASE برای تنظیم پایگاه داده استفاده کنیم:

ایجاد پرسنل پایگاه داده

توجه داشته باشید ویژه ای از سرمایه گذاری مورد استفاده در مثال بالا. در میان برنامه نویسان SQL مشترک است که از تمام حرف های بزرگ برای کلمات کلیدی SQL مانند "CREATE" و "DATABASE" استفاده می کند در حالی که با استفاده از تمام حروف کوچک برای نام های تعریف شده توسط کاربر مانند نام پایگاه داده "پرسنل". این کنوانسیون ها برای خوانایی آسان فراهم می شود.

ادامه مطلب این آموزش را به عنوان ما ایجاد جداول برای پایگاه داده ما.

یادگیری بیشتر

اگر میخواهید بیشتر در مورد زبان پرس و جو ساخت یافته یاد بگیرید، مقدمه ای بر SQL را بخوانید یا برای دوره رایگان ایمیل SQL Learning ما ثبت نام کنید.

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

ایجاد اولین جدول ما

جدول اول ما شامل اطلاعات شخصی برای هر کارمند شرکت ما می باشد. ما باید نام، حقوق و دستمزد، شناسه و مدیر هر کارمند را ذکر کنیم. این شیوه طراحی خوب است تا نام های آخر و اول را به قسمت های جداگانه جدا کند تا ساده تر جستجو و مرتب سازی داده ها در آینده باشد. همچنین، ما پیگیری مدیر هر مدیر را با اضافه کردن یک مرجع به شناسه کارمند مدیر در هر رکورد کارمند پیگیری می کنیم. ابتدا نگاهی به جدول کارمند مورد نظر بدهید.

Attribute ReportsTo مدیر شناسه برای هر کارمند را ذخیره می کند. از سوابق نمونه نشان داده شده است، ما می توانیم تعیین کنیم که سو اسکامپی مدیر هر دو تام کندال و جان اسمیت است. با این حال، در پایگاه داده مدیریت سو وجود ندارد، همانطور که توسط ورود NULL در ردیف خود نشان داده شده است .

اکنون می توانیم از SQL برای ایجاد جدول در پایگاه داده پرسنلی استفاده کنیم. قبل از اینکه ما این کار را انجام دهیم، اطمینان حاصل کنیم که با یک دستور USE در پایگاه داده درست هستیم:

استفاده از پرسنل؛

متناوبا "پرسنل پایگاه داده"؛ فرمان عملکرد مشابهی را انجام می دهد. اکنون می توانیم به دستور SQL مورد استفاده برای ایجاد جدول کارکنانمان نگاهی بیاندازیم:

کارکنان CREATE TABLE (کارمند INTEGER NOT NULL، نام خانوادگی VARCHAR (25) NOT NULL، نام خانوادگی VARCHAR (25) NOT NULL، reportsto INTEGER NULL)؛

همانطور که با مثال فوق، توجه داشته باشید که کنفرانس برنامه نویسی تصریح می کند که ما از تمام حرف های بزرگ برای کلمات کلیدی SQL و حروف کوچک برای ستون ها و جداول نام کاربری استفاده می کنیم. فرمان بالا می تواند در ابتدا گیج کننده باشد اما در واقع یک ساختار ساده در پشت آن وجود دارد. در اینجا یک دید عمومی است که ممکن است کمی چیزها را روشن کند:

CREATE TABLE table_name (attribute_name options for datatype، ...، attribute_name انواع داده ها)؛

ویژگی ها و انواع داده ها

در مثال قبلی، نام جدول کارکنان است و ما چهار ویژگی را داریم: employeeid، نام خانوادگی، نام خانوادگی و reportsto. نوع داده نشان می دهد نوع اطلاعاتی که ما می خواهیم در هر فیلد ذخیره کنیم. شناسه کارمند یک عدد صحیح ساده است، بنابراین از نوع داده INTEGER برای هر فیلد employeeid و field reportsto استفاده خواهیم کرد. نام کارکنان، رشته های شخصیتی متغیر طول می باشد و ما انتظار نداریم هر کارمند یک نام یا نام خانوادگی طولانی تر از 25 کاراکتر داشته باشد. بنابراین، از VARCHAR (25) برای این زمینه ها استفاده می کنیم.

ارزشهای NULL

ما همچنین می توانیم NULL یا NOT NULL را در قسمت گزینه های عبارت CREATE مشخص کنیم. این به سادگی به پایگاه داده می گوید که آیا ارزش NULL (یا خالی) برای این خصوصیت در هنگام اضافه کردن ردیف به پایگاه داده مجاز است. در مثال ما، اداره منابع انسانی نیاز دارد که یک شناسه کارمند و نام کامل برای هر کارمند ذخیره شود. با این حال، هر کارمند هیچ مدیری ندارد - مدیر عامل به هیچکس گزارش نمی دهد! - بنابراین ما اجازه می دهد ورودی NULL در آن زمینه. توجه داشته باشید که NULL مقدار پیش فرض است و حذف این گزینه به طور ضمنی اجازه می دهد که مقدار NULL برای یک ویژگی باشد.

ساخت جداول باقیمانده

حالا اجازه دهید نگاهی به جدول سرزمینها ببریم. از یک نگاه سریع به این داده ها، به نظر می رسد که ما باید یک عدد صحیح و دو رشته طول متغیر ذخیره کنیم. همانطور که با مثال قبلی ما، ما انتظار نداریم که شناسه منطقه بیش از 25 کاراکتر مصرف کند. با این حال، برخی از سرزمین های ما دارای نام های طولانی هستند، بنابراین طول مدت مجاز آن ویژگی را به 40 کاراکتر گسترش خواهیم داد. بیایید به SQL مربوطه نگاه کنیم:

ایجاد مناطق جدول (territoriesid INTEGER NOT NULL، territory توصیف VARCHAR (40) NOT NULL، regionid VARCHAR (25) NOT NULL)؛

در نهایت، از جدول EmployeeTerritories برای ذخیره روابط بین کارمندان و سرزمین استفاده می کنیم. اطلاعات دقیق در مورد هر کارمند و قلمرو در دو جدول قبلی ما ذخیره می شود. بنابراین، ما فقط باید دو عدد صحیح را در این جدول ذخیره کنیم. اگر ما این اطلاعات را گسترش دهیم، می توانیم از JOIN در دستورالعمل های انتخاب داده ها برای به دست آوردن اطلاعات از جداول متعدد استفاده کنیم. این روش ذخیره داده ها، افزونگی را در پایگاه داده ما کاهش می دهد و استفاده بهینه از فضای درایوهای ذخیره سازی ما را تضمین می کند. ما دستور عمودی JOIN را در یک آموزش آینده پوشش خواهیم داد. در اینجا کد SQL برای اجرای جدول نهایی ما است:

CREATE TABLE areas of laborer (employeeid INTEGER NOT NULL، territoriesid INTEGER NOT NULL)؛

مکانیسم SQL فراهم می کند تا ساختار یک پایگاه داده را پس از ایجاد تغییر دهید

اگر امروز امروز به شدت درگیر هستید، ممکن است متوجه شده باشید که ما "به طور تصادفی" یکی از الزامات طراحی را هنگام اجرای جداول پایگاه داده حذف کردیم. مدیر منابع انسانی شرکت XYZ درخواست کرد که اطلاعات مربوط به حقوق کارکنان را در پایگاه داده دنبال کند و ما در ارائه جداول پایگاه داده ای که ایجاد کردیم، این کار را انجام ندادیم.

با این حال، همه چیز از بین رفته است. ما می توانیم از دستور ALTER TABLE برای اضافه کردن این ویژگی به پایگاه داده موجود استفاده کنیم. ما می خواهیم حقوق و دستمزد را به عنوان ارزش عدد صحیح ذخیره کنیم. نحو کاملا شبیه دستور CREATE TABLE است، در اینجا این است:

کارکنان ALTER TABLE اضافه کردن حقوق و دستمزد INTEGER NULL؛

توجه داشته باشید که ما مشخص کردیم که مقادیر NULL برای این ویژگی مجاز هستند. در اغلب موارد، هنگام اضافه کردن یک ستون به یک جدول موجود گزینه ای وجود ندارد. این به خاطر این واقعیت است که جدول در حال حاضر حاوی ردیف بدون ورودی برای این ویژگی است. بنابراین، DBMS به طور خودکار یک مقدار NULL را برای پر کردن خالی وارد می کند.

و این نگاه ما به پایگاه داده SQL و روند ایجاد جدول است. در بخش های آموزشی SQL ما اغلب برای اقساط جدید چک کنید. اگر می خواهید یک یادآوری ایمیل زمانی که مقالات جدید به سایت «درباره پایگاه های داده» اضافه می شود، بخواهید به خبرنامه ما مشترک شوید!