Download presentation
Presentation is loading. Please wait.
Published byMiranda Johnston Modified over 6 years ago
1
آزمایشگاه پایگاه داده ها ایجاد جدول در پایگاه داده در SQL Server
2
آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
جزئیات پایگاه داده هر پایگاه داده دارای اجزای مختلفی می تواند باشد که مهمترین آنها جداول هستند. برای دیدن تمامی اجزای پایگاه داده در SSMS کافیست نمایش درختی یک پایگاه داده را گسترش دهید (Expand کردن علامت +). لیست جداول موجود در پایگاه داده در قسمت Tables قرار دارد. با گسترش دادن این گزینه لیست جداول قابل مشاهده خواهد بود. شاخه System Tables مربوط به جداول سیستمی است و بقیه لیست جداول معمولی پایگاه می باشند. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
3
جداول در پایگاه داده SQLServer
قبل از ایجاد یک جدول باید با برخی از مفاهیم آشنا شوید. همانطور که می دانید یک جدول از یکسری سطر و ستون تشکیل شده است. در مطالب آکادمیک برای سطر و ستون اسم های زیادی عنوان شده است که عبارتند از: ستون: Column, Field, Attribute,…، به ستون فیلد یا صفت هم می گویند چون هر صفت از یک موجودیت یا رابطه یک ستون از یک جدول را تشکیل خواهد داد. سطر: Row, Record, Tuple، به یک ردیف از جدول رکورد یا تاپل هم می گویند که رکورد عمومیت بیشتری دارد. هر رکورد از یک جدول به مشخصات یک نمونه از اعضای مجموعه موجودیت یا مجموعه رابطه اشاره دارد. نکته دیگر این است که برای هر جدول یک شِمای (Schema) متنی وجود دارد. مثال: شمای متنی موجودیت دانشجو Student(sid: string , name: string , age: int , avg: float); آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
4
جداول در پایگاه داده SQLServer
همانطور که در شمای متنی می بینیم ابتدا نام رابطه (موجودیت یک رابطه است) و بعد در دو پرانتز باز و بسته نام صفات رابطه به همراه نوع هر صفت بیان شده است. نوع هایی که برای هر صفت قید می شوند و نام هایی که به کار برده می شود چه برای صفات و چه برای خود رابطه در در هر DBMS دیگر و خود SQLServer دارای قوانین مشخصی است که قبل از ایجاد یک جدول در پایگاه داده باید آنها را دانست. همچنین در مورد هر جدول مفاهیمی مثل درجه و Cardinality مد نظر است که باید با این مفاهیم نیز آشنا شوید. در زیر نمای جدولی، رابطه داشنجو را می بینید. Sid Name Age Avg آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
5
جداول در پایگاه داده SQLServer
درجه جدول (Degree): مساوی است با تعداد فیلد های آن جدول. به طور مثال در جدول زیر درجه جدول 4 است. تعداد رکوردها (Cordiality): مساوی است با تعداد رکورد های موجود در یک جدول، به طور مثال در جدول زیر کوردینالیتی برابر 2 است. نکته: درجه جدول در زمان طراحی و زمان به کارگیری جدول مطرح است اما کوردینالیتی یک جدول فقط در زمان به کارگیری و تزریق داده به جدول مد نظر است و در هنگام طراحی بررسی نمی شود. Sid Name Age Avg آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
6
قوانین نام گذاری شناسه ها
در فرآیند نام گذاری هر مفهوم در SQLServer مثل پایگاههای داده، جداول، فیلدها و ... باید شرایط زیر مد نظر قرار بگیرد: طول هر شناسه 1 تا 128 کارکتر. نخستین کارکتر باید حرف یا یکی از , # یا _ باشد. , # , _ را می توان پس از کارکتر نخست بکار برد. @ به عنوان متغیر های محلی به کار می روند. # اشیا موقت را نشان می دهد. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
7
انواع داده در SQLServer
نوع داده (Data Type) یا دامنه (Domain) یک فیلد اشاره به محدودیت هایی مشخص برای ورود مقادیر به آن فیلد دارد. مثلاً ما می توانیم مشخص کنیم که مقادیر یک فیلد فقط اعداد باشند و یا فقط قالب خاصی از متون مثلاً فقط تاریخ و یا زمان وارد یک فیلد شوند. در SQL انواع داده به سه دسته تقسیم شده اند که عبارتند از: Predefined: یعنی داده های از پیش تعریف شده که انواع رایج هستند و خود به پنج دسته رشته ای (String)، عددی (Numeric)، تاریخ و زمان (DateTime)، فاصله ای یا وقفه ای (Interval) و بولی (Boolean) تقسیم می شوند. Constructed: انواع پیچیده تر از انواع از پیش تعریف شده هستند و می توانند داده های چندگانه و متفاوت را در خود ذخیره کنند. User Defined: این نوع ها بر پایه انواع از پیش تعریف شده یا صفات خاص می باشند که توسط کاربران تعریف و ایجاد می شوند. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
8
نوع داده رشته ای String در SQLServer
Character Strings: این نوع داده مشخص کننده مقادیر محدود به کاراکتر های استاندارد می باشد و خود شامل 3 عضو Character, Character Varying و Character large object می باشد. National Character Strings: این نوع داده مانند قبلی است با این تفاوت که از کاراکتر های ملی امریکا تبعیت می کند و خود شاکل 3 عضو می باشد مثل قبلی با یک کلمه National اضافه شده به اول هر کدام. Bit Strings: این نوع داده مقادیر را به رشته های بیتی محدود می کند. یعنی داده ها در این نوع یا صفر هستند یا یک و بر دو نوع Bit , Bit Varying می باشد. Binary Strings: این نوع داده بر خلاف قبلی مقادیر را به رشته های بایتی (Octets) محدود می کند یعنی رشته هایی از صفر و یک با طول معمول 8 بیت. این گروه فقط یک نوع داده دارد: Binary Large Object آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
9
نوع داده رشته ای String در SQLServer
توضیحات Character CHAR (n) , n=[ ] رشته با طول ثابت، یعنی اگر رشته ای با طول 10 ایجاد کنید و یک متن 6 کاراکتری را در آن ذخیره کنید 4 بایت باقی مانده با کاراکتر space پر می شود. حداقل طول رشته 1 کاراکتر و حداکثر طول آن 8000 کاراکتر می باشد Character Varying VARCHAR (n) VARCHAR (Max) رشته با طول متغیر، یعنی دقیقاً به اندازه طول رشته فضای ذخیره سازی حافظه پر می شود و اگر رشته ای با طول 10 ایجاد کنید و یک متن 6 کاراکتری را در آن ذخیره کنید فقط 6 بایت از حافظه استفاده می شود و به رشته کاراکتر Space اضافه نمی شود. Character Large Object Text برای رشته های بسیار بلند کاربرد دارد و دقیقاً به اندازه طول رشته فضای ذخیره سازی حافظه پر می شود. سری National دقیقاً مشابه موارد بالا می باشد با این تفاوت که در ابتدای هر نام حرف N قرار گرفته است. مثلاً NCHAR, NVARCHAR, NTEXT BIT یك فیلد دو بیتی است و میتواند 0 و 1 و Null را ذخیره كند.كاربرد آن در زمانهایی است كه دو حالت وجود داشته باشد. مانند جنسیت زن و مرد. Binary Varbinary رشته با طول ثابت در Binary و رشته با طول متغیر در Varbinary آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
10
نوع داده عددی Numeric در SQLServer
Integer Data: این نوع داده برای نگهداری اعداد صحیح و بدون اعشار استفاده میگردد و دارای 4 نوع به شرح زیر است. در ضمن این نوع فیلدها رتبه یك سرعت در نوع فیلدهای عددی را دارد. Tinyint: یك بایت را اشغال میكند و میتواند از 0 تا 255 را در خود ذخیره كند. Smallint: یك عدد دو بایتی است و میتواند از منفی تا مثبت را در خود ذخیره كند. int: یك عدد چهار بایتی است كه میتواند اعداد بین مثبت و منفی 2 میلیارد را در خود ذخیره كند. Bigint: یك عدد 8 بایتی است كه میتواند اعداد بین مثبت و منفی 9,223,372,036,854,775,807 را در خود ذخیره كند. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
11
نوع داده عددی Numeric در SQLServer
Approximate Data: این نوع فیلدها برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر و یا تخمـینـی استفاده میشود. این نوع دادهها رتبه سوم سرعت در بین انواع دادههای عددی دارند و استفاده از آنها به دلیل كندی، توصیه نمیگردد. مگر در مواقع لزوم. Real: یك عدد 4 بایتی است كه اعداد بصورت توانی از 10 نگهداری میشوند. (تعداد اعشار مشخص نیست). Float: یك عدد 8 بایتی كه اعداد بصورت توانی از 10 نگهداری میشوند. (تعداد اعشار مشخص نیست). Decimal: این نوع فیلد برای نگهداری اعداد اعشاری با تعداد اعشار مشخص استفاده میگردد. این نوع فیلدها بسیار كند بوده و استفاده از آنها توصیه نمیگردد. فرمت اینگونه دادهها به شكل زیر است: كه در آن Precision به معنای تعداد كل رقمهای عدد و Scale تعداد ارقام اعشار را مشخص میكند. مثلاً اگر فیلدری بصورت Decimal(6,2) تعریف شود، حداكثر آن برابر میباشد. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
12
نوع داده عددی Numeric در SQLServer
Money Data: این نوع فیلد برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار ثابت 4 رقمی استفاده میشود. این نوع فیلدها، دارای رتبه دوم سرعت در بین انواع دادهی عددی است. SmallMoney: یك عدد 4 بایتی است كه میتواند 6 رقم صحیح و 4 رقم اعشار را در خود ذخیره كند. Money: یك عدد 8 بایتی است كه میتواند 15 رقم صحیح و 4 رقم اعشار را در خود ذخیره كند. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
13
نوع داده تاریخ و زمان DateTime در SQLServer
SmallDateTime: این نوع فیلد، 4 بایتی است و از سال 1900 تا 2079 را با دقت هزارم ثانیه ذخیره میكند. DateTime: این نوع فیلد، 8 بایتی است و از سال 1700 تا 9999 را با دقت هزارم ثانیه ذخیره میكند. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
14
دیگر انواع داده در SQLServer
برخی از انواع فیلدهای خاص را در این قسمت به اختصار توضیح میدهیم: TimeStamp: در این فیلد 8 بایتی، تایم لحظهای اجرای دستور نگهداری میشود و كاربرد آن كنترل بروزرسانی همزمان (Concurrency) اطلاعات توسط چند كاربر است. البته در تعداد ركوردهای پایین به كار نمیآید و بیشتر زمانی مورد نیاز است كه تعداد ركوردها خیلی زیاد باشد مثلاً 100 میلیون ركورد! UniqueIdentifier: این فیلد 16 بایتی، به ما كدی unique یا تك میدهد كه به اصطلاح GUID میگویند. یكی از كاربردهای آن در Replication است. Sql_variant: این نوع فیلد برای نگهداری انواع داده استفاده میشود و نوع آن با توجه به اولین مقداری كه در آن قرار میگیرد تعیین خواهد شد. چون نوع و حجم فیلد مشخص نیست، لذا تنها یك اشارهگر 16 بایتی در آن قرار گرفته و داده اصلی در فایل جداگانه نگهداری میشود. استفاده از این نوع فیلد، توصیه نمیگردد. Cursor:این فیلد مربوط به كنترل Cursor است كه در آینده توضیح میدم. Table: این نوع فیلد را هم در زمان آموزش Functionها خواهید آموخت XML: این فیلد بیشتر برای انتقال اطلاعات و دستورات تحت web استفاده میشود و شامل انواع Metadata های مختلف است. این فیلد در SQL 2005 معرفی گردید. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
15
مهمترین انواع داده در SQLServer 2008
رشته string)) Char(n),var char(n) رشته های کارکتری را ذخیره میکند باینری یا دودویی Binary, varbinary اطلاعات باینری را به شکل زوج های دو بایتی ذخیره می کند. اعداد صحیح Int, smallint, bigint, tinyint اعداد صحیح را ذخیره می کند اعداد اعشاری Real, Float اعداد اعشاری را ذخیره می کند اعداد دقیق Decimal , Numeric اطلاعات اعداد دقیق را ذخیره می کند خاص Bit , text , image , table Sql_variant یک بیت , اطلاعات کارکتری بیش از 8000 بایت , تصاویر , table برای ذخیره جداول تاریخ و ساعت DateTime, Date, Time پولی Money, smallmoney مقادیر پولی را ذخیره می کند داده Unicode Nchar , ntext , nvarchar داده ها را فرمت دو بایت بازای هر کارکتر ذخیره می کند محاسباتی(computed) Computed عبارات محاسباتی ستون ها را ذخیره می کنند آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
16
ایجاد جدول با استفاده از امکانات آماده SSMS
زیر مجموعه پایگاه داده مورد نظر را گسترش داده و گزینه Tables را پیدا کنید. بر روی گزینه tables راست کلیک کنید. و گزینه New Table را انتخاب کنید. یه تب به محیط ویرایشگر اضافه می شود که می توان در آن فیلدهای جدول جدید را تعریف کرد که خود این محیط شامل 3 ستون Column Name, Data type و Allow Nulls می باشد. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
17
ایجاد جدول با استفاده از امکانات آماده SSMS
تصویری از محیط تعریف جدول: Column Name: برای تعیین نام فیلد. Data Type: برای تعیین نوع داده فیلد. Allow nulls: اگر این گزینه تیک داشته باشد. فیلد در هنگام نزریق داده می تواند مقادیر خالی یا همان Null را بپذیرد. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
18
ایجاد جدول با استفاده از امکانات آماده SSMS
در هنگام تعریف هر فیلد در قسمت Column Properties می توان مشخصات کامل آن فیلد را بر اساس نوع داده انتخاب شده مشاهده کرد. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
19
ایجاد جدول با استفاده از امکانات آماده SSMS
گزینه Allow Nulls كه البته در كنار Data Type هم میتوان آنرا تعیین كرد، مشخص میكند كه آیا آن فیلد خاص میتواند مقدار (Null) یا همان هیچی را بپذیرد یا خیر. یكی دیگر از این موارد، مشخص كردن مقدار اولیهی فیلد مورد نظر هستش. برای این كار در مقابل عبارت Default Value or Binding مقدار اولیه رو وارد میكنید. مشخص كردن مقدار اولیه به این درد میخورد كه مقدار فیلد ما مثلاً در هنگام Insert یك ركورد جدید به جدول، در صورت مشخص نبودن مقدار، Null نشود. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
20
ایجاد جدول با استفاده از امکانات آماده SSMS
اگر با بانك اطلاعاتی Access آشنا باشید، یكی از انواع دادهها، Auto Number بود كه در Data Typeهای SQLServer وجود نداشت. برای پیادهسازی AutoNumber به این صورت عمل میكنیم: اگر روی علامت مثبت كنار Identity Specification كلیك كنیم، سه گزینهی دیگر نمایش داده خواهند شد. (شكل زیر) اگر برای فیلدهای عددی غیر اعشاری، Is Identity برابر Yes شود، در اینصورت این فیلد بصورت اتوماتیك در هنگام درج ركوردهای جدید، اضافه خواهد شد. مقدار شروع در قسمت Identity Seed و میزان افزایش در هر دفعه، در قسمت Identity Increment قرار خواهد گرفت. ضمناً برای استفاده از این امكان، باید در قسمت Default Value مقدار پیشفرض تعیین نگردد و حتماً Allow Null هم نباشد. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
21
ایجاد جدول با استفاده از امکانات آماده SSMS
دستور ایجاد جدول به شرح زیر است: CREATE TABLE <نام جدول> (<نام فیلد 1> <نوع فیلد یک>, … , <n نام فیلد> <n نوع فیلد>); در این دستور ابتدا کلمه کلیدی create table می آید و بعد از آن با یک فاصله نام جدول نوشته می شود، بعد از نام در داخل یک ساختار پرانتز فیلدهای جدول تعریف می شوند، بطوری که ابتدا نام هر فیلد و بعد با یک فاصله نوع هر فیلد نوشته می شود و تعریف هر فیلد از بقیه با یک کاراکتر کاما جدا میشود. مثال: create table student (name char(20), age smallint); این دستور جدول داشنجو را با دو فیلد نام و سن ایجاد می کند. آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
22
آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
23
آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
پایان بخش ششم ؟ آزمایشگاه پایگاه داده ها - ایجاد جدول در پایگاه داده در SQL Server
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.