آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
فاکتورهای مهم در ایجاد یک مقاله علمی
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
Decision Tree.
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
PHP Hypertext per processor کار می کند؟ PHP چگونه
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
Lesson four Grade three
Web Programming Advanced SQL and PHP  Advanced queries  Querying more than one table  Searching tables to find information  Aliasing tables  PHP functions.
Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.
به نام خدا برنامه سازی سمت سرور (php)
In the next lectures you will learn  What is SQL  How to access mySQL database  How to create a basic mySQL database  How to use some basic queries.
موضوع: دبير مربوطه: آموزشگاه : اجرا : عبارتهای جبری خانم مقصودی
مظفر بگ محمدی دانشگاه ایلام Generics. کدهای عمومی 2 یکی از اهداف OOP ایجاد قابلیت نوشتن برنامه های عمومی با قابلیت استفاده ی مجدد است. کدهای چندریخت تا.
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
آشنايي با سيستم اعداد.
[c.
آزمایشگاه پایگاه داده ها ایجاد جدول در پایگاه داده در SQL Server
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
مدیریت اطلاعات و داده های سازمان یافته
کالیبراسیون، صحت سنجی و آنالیز حساسیت مدل
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
نکات بسیار مهم در مورد دانشگاه تبریز
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
چگونه یک ژورنال مناسب برای مقاله خود پیدا کنیم؟
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
آشنایی مقدماتی با نرم افزار Endnote X4
ساختمان داده ها جداول درهم سازی
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 11
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
دانشگاه علوم پزشکی شهید بهشتی
مظفر بگ محمدی دانشگاه ایلام
پایگاه داده SQL دانشگاه علوم پزشکی بوشهر 94/12/5.
فصل دوم جبر بول.
Route configuration for 5400W ADSL Router
SSO Single Sign-on Systems
1.
آشنایی با پایگاه داده mysql
آموزش کرک کردن نرم افزار ACTIVE HDL
Tree Sort.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
آشنایی مقدماتی با نرم افزار Endnote X4
ممیزی پایگاه داده مریم آزادمنش بهار90.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
شیوه جستجو در پایگاه IEEE
مقاله ام را کجا Submit کنم؟ تهیه و تنظیم: سودابه طاهری و زهره راخ
راهنمای استفاده از ابزار Mailings در Ms Word
سال تولید ملی، حمایت از کار و سرمایه ایرانی
پشته و صف پیوندی Give qualifications of instructors: DAP
آشنایی مقدماتی با نرم افزار Endnote X4
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
آشنایی مقدماتی با نرم افزار Endnote
کاربرد کامپیوتر در داروخانه
جستجوی منابع الکترونیک
به نام خدا Koha برنامه.
IN THE NAME OF GOD MATH SABA KARBALAEI
فصل ششم مدارهای ترتیبی.
فایروال در میکروتیک استاد نادری محسن بیاتانی دانشگاه قم
دکتر مظفر بگ محمدی دانشگاه ایلام
توزیع میانگین نمونه سعید موسوی.
فصل 8 –Process and Deployment
kbkjlj/m/lkiubljj'pl;
پشته و صف پیوندی Give qualifications of instructors: DAP
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
طریقه ارسال اطلاعات به فیدا و دریافت شناسه فروشنده
Presentation transcript:

آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server

Integrity Constraints قیود جامعیت آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

قیود جامعیت - Integrity Constraints همانطور که در بخش قبل شرح داده شد قالب اصلی دستور Create Table بصورت زیر است. CREATE TABLE <نام جدول> (<نام فیلد 1> <نوع فیلد یک>, … , <n نام فیلد> <n نوع فیلد>); مثال: create table teacher (id nchar(10), fullname nvarchar(50), course nvarchar(30)); اما این دستور می تواند پارامترهای دیگری را هم در بر داشته باشد. به این پارامترها قید یا محدودیت می گویند از جمله قیود جامعیت که از مهمترین آنها می توان به قید فیلد کلید اصلی یا همان Primary Key اشاره کرد. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

قیود جامعیت - Integrity Constraints به مجموعه شرایطی که برای یک فیلد تعیین میشود تا آن فیلد داده های خاصی را مطابق با آن شروط در خود ذخیره کند را قیود جامعیت می گویند. این قید ها عبارتند از: قیود کلیدی Key Constraints: فیلد کلید کوچکترین زیر مجموعه از فیلدهای یک رابطه است (1 یا چند فیلد) که برای هر ردیف اطلاعات، یک مقدار یکتا و واحد (بدون تکرار) و ناخالی را ارائه دهد. کلید کاندید Candidate Key کلید اصلی Primary Key سوپر کلید Super Key آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

قیود جامعیت - Integrity Constraints با این تعاریف قالب کلی دستور ایجاد جدول با در نظر گرفتن قید ها به صورت زیر می باشد: CREATE TABLE <نام جدول> (<نام فیلد 1> <نوع فیلد یک>, … , <n نام فیلد> <n نوع فیلد>) [constraint 1] [constraint 2] … [constraint n] واژه constraint یعنی قید یا محدودیت. در ادامه با قیود مهم آشنا خواهیم شد. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

تعیین قید کلید اصلی در جدول توسط SSMS تعیین فیلد یا فیلد های کلید اصلی (Primary Key) در جدول: برای تعیین فیلد کلید اصلی در یک جدول، در قسمت ویرایش جدول (Design) باید: ابتدا فیلد یا فیلدهای مورد نظری که می خواهید به عنوان کلید اصلی تعیین شوند را انتخاب کنید. سپس بر روی آنها راست کلیک کرده و گزینه Set Primary Key را انتخاب کنید. با این کار یک علامت کلید زرد رنگ در جلوی اسم فیلد یا فیلدها نمایش داده میشود. جدول را ذخیره کنید تا تغییرات اعمال شود. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

تعیین قید کلید اصلی در دستور ایجاد جدول برای تعیین فیلد یا فیلدهای کلید اصلی باید از کلمه کلیدی Primary Key استفاده کرد. در مواردی که فقط یک فیلد کلید اصلی است می توان در هنگام تعریف آن فیلد بعد از نوشتن نوع داده فیلد، کلمه کلیدی primary key را وارد کرد. با این کار دیگر نیازی نیست که در انتهای دستور قید primary key() را ذکر کرد. بصورت زیر: نام فیلد نوع فیلد primary key CREATE TABLE student ( stid CHAR(20) primary key, name CHAR(20), age SMALLINT, nc CHAR(20), ic CHAR(20) ); در دستور بالا فیلد stid به عنوان کلید اصلی تعیین میشود. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

تعیین قید کلید اصلی در دستور ایجاد جدول اما اگر بخواهیم بیش از یک فیلد را به عنوان کلید اصلی انتخاب کنیم باید قید primary key را در بخش قیود دستور (پس از تعریف فیلدها) به کار برد. قالب کلی این قید بصورت زیر است: PRIMARY KEY (f1,… , fn) f1 تا fn یعنی نام فیلد یا فیلدهایی که به عنوان کلید اصلی تعیین شده اند. مثال: CREATE TABLE student ( stid CHAR(20), name CHAR(20), age SMALLINT, nc CHAR(20), ic CHAR(20), CONSTRAINT studentkey PRIMARY KEY (stid, nc) ); در دستور بالا فیلدهای stid, nc کلید اصلی هستند. عبارت Constraint و نام قرمز رنگ اختیاری است وبرای خطا یابی مفید است. فیلدی که Primary Key است not null هم خواهد بود. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

تعیین قید یکتایی در دستور ایجاد جدول برای تعیین فیلدهایی که مقدار یکتا دارند(فیلد کلید کاندید) هم باید آنها را Unique (یکتا) معرفی کرد برای این کار باید از کلمه کلیدی unique در قسمت قیود دستور ایجاد جدول استفاده کرد. قالب اصلی این قید بصورت زیر است: UNIQUE (f1,… , fn) f1 تا fn یعنی نام فیلد یا فیلدهایی که به عنوان یکتا تعیین شده اند. CREATE TABLE student ( stid CHAR(20), name CHAR(20), age SMALLINT, nc CHAR(20), ic CHAR(20), UNIQUE (nc, ic) ); در دستور بالا 2 فیلد nc و ic هر دو یکتا تعیین شده اند. یعنی مقدار تکراری وخالی را نمی پذیرند. فیلدی که Unique است not null هم خواهد بود. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

تعیین قید تهی نبودن یک فیلد در دستور ایجاد جدول Not Null قید خالی نبودن (تهی نبودن) برای این که یک فیلد مقدار خالی را نپذیرد باید آن را با قید not Null مشخص کنیم. قالب کلی این قید در تعریف یک فیلد به صورت زیر است: نام ستون نوع داده not null مثال: Name nvarchar(20) not null در دستور بالا فیلد Name از نوع nvarchar با اندازه 20 کاراکتر تعریف می شود و قید not null مشخص می کند که این فیلد در هنگام ورود اطلاعات نمیتواند مثدار خالی را قبول کند (نمی تواند خالی بماند). آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

تعیین قید مقدار پیش فرض یک فیلد در دستور ایجاد جدول Default قیدی مقدار پیش فرض: برای تعیین مقدار پیش فرض برای یک فیلد باید از قید Default استفاده می شود. قالب اصلی تعریف این قید در تعریف یک فیلد به صورت زیر است: نام ستون نوع داده default مقدار ثابت مثال: Name nvarchar(20) default ‘ali’ در مثال بالا فیلد Name با نوع nvarchar با اندازه 20 کاراکتری در جدول تعریف می شود و مقدار پیش فرض آن رشته ali خواهد بود. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

قید Check – بررسی یک شرط در جدول قید check(p): این قید در قسمت محدودیت ها ذکر می شود و بدین معناست که شرط p در جدول ذکر شده برآورده شود. قالب کلی این قید به صورت زیر می باشد: check (شرط) مثال create table mark (sn int, grade numeric(2,2)) check ((grade >= 00.00) and (grade <= 20.00)) این دستور جدول Mark (نمره) را با فیلدهای sn از نوع int و grade از نوع عدد اعشاری با دو رقم صحیح و دو رقم اعشار ایجاد می کند. با این شرط که در هنگام ورود اطلاعات مقدار وارده به فیلد grade نباید کوچکتر از 0 و بزرگتر از 20 باشد. (نمره عددی بین 0 و 20). آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: قید کلید خارجی نمودار ER زیر را در نظر بگیرید: رابطه درس دادن یک درس توسط استاد که در آن در یک ترم یک استاد می تواند N درس را تدریس کند. حال شمای متنی هر یک از موجودیت ها و رابطه Teach بصورت زیر است: Lesson (Lid: char(5), LName: char(25), vahed smallint) Teacher (Tid: char(10), TName: char(50), course char(50)) Teach (Lid: char(5), Tid: char(10), semester: DateTime) course LName Semester Lid Teach Tid Lesson Teacher vahed TName آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: قید کلید خارجی شمای جدولی موجودیت ها و رابطه مثال اسلاید قبل بدین صورت می شود: همانطور که در شکل می بینید فیلد Tid در جدول Teach یک ارجاع است به فیلد Tid در جدول Teacher و همانطور نیز فیلد Lid در جدول Teach یک ارجاع است به فیلد Lid در جدول Lesson. در چنین مواردی اگر یک استاد حذف شود باید لیست تمامی درس هایی که با وی بوده است از جدول Teach نیز حذف شود و اگر Tid یک استاد تغییر کند باید مقدار متناظر آن در جدول teach نیز همه بروز شده و آنها نیز عوض شوند. برای پیاده سازی این ساختار از قید Foreign Key استفاده می شود. Lid LName vahed Tid TName course Lesson Teacher Lid Tid Semester Teach آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: قید کلید خارجی برای پیاده سازی این قید جامعیت در قسمت محدودیت ها (قیود) دستور ایجاد جدول باید از قالب زیر استفاده کرد: foreign key (نام فیلد ارجاع) references < نام جدول مرجع> [on delete cascade] [on update cascade] کلید خارجی یک ارجاع از جدول مبداء به جدول مقصد است. در تبدیل رابطه های بین دو موجودیت از کلید خارجی حتماً استفاده میشود و در چنین جداولی حداقل 1 رابطه خارجی وجود دارد. یک جدول می تواند بیش از یک رابطه خارجی داشته باشد. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: قید کلید خارجی اگر این قید پارامتر [on delete cascade] را داشته باشد با پاک شدن رکورد متناظر در جدول مرجع تمامی رکوردهای مرتبط به آن در جدول ارجاع کننده نیز پاک می شوند. اگر این قید پارامتر [on update cascade] را داشته باشد با ویرایش یک مقدار در جدول مرجع این تغییر به تمامی رکورد های مرتبط در جدول ارجاع کننده نیز بروز شده و تغییرات در آنها نیز اعمال می شود. البته به جای کلمه cascade میتوان از کلمات Set Null و Set Default استفاده کرد. با استفاده از این عبارات در صورت تغییر یا حذف مقادیر در جدول مرجع در جدول ارجاع کننده مقدار Null و یا مقدار پیش فرض قرار می گیرد. در مثال ذکر شده تعاریف جداول به سبک زیر خواهد شد. آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: تعریف جدول Lesson مثال Lesson Table Definition: CREATE TABLE Lesson ( Lid nvarchar(5) PRIMARY KEY, LName nvarchar(25), vahed smallint ) آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: تعریف جدول Teacher مثال Teacher Table Definition: CREATE TABLE Teacher( Tid nvarchar(10) Primary Key, TName nvarchar(50), Course nvarchar(50) ) آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: تعریف جدول Teach مثال Teach Table Definition: CREATE TABLE Teach( Lid nvarchar(5), Tid nvarchar(10), Semester DateTime, constraint MainKey Primary Key (Lid, Tid, Semester), Foreign Key (Lid) references Lesson on delete cascade on update cascade, Foreign Key (Tid) references Teacher on update cascade ) ارجاع فیلد Lid به جدول Lesson ارجاع فیلد Tid به جدول Teacher آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server

Foreign key: تعریف جدول Teach مثال نمای پنجره Design جدول teach دیاگرام ارتباطات 3 جدول پس از ساخت هر 3 جدول و استفاده از قید Foreign Key در جدول Teach آزمایشگاه پایگاه داده ها - قیود در جداول یک پایگاه داده در SQL Server