Створення таблиць бази даних

Найближчим аналогом таблиці бази даних можна вважати лист електронної таблиці Microsoft Excel. При роботі з листом таблиці ін­формацію вводять у стрічки та стовпці. Також в електронних табли­цях, як правило, є заголовки стовпців, згідно яких можна судити про вид інформації в них. Однак, на відміну від електронних таблиць, таб­лиці баз даних мають певні строгі обмеження відносно даних, які мож­на вводити в стовпці. В SQL Server така структура даних забезпечу­ється за рахунок використання типів даних та властивостей стовпців. У таблиці 2.1 наводяться основні типи даних та їхні характеристики.

Таблиця 2.1. Вбудовані типи даних Microsoft SQL Server 2005

Тип даних Діапазон – опис Розмір у байтах
Цілочисельні типи
Bit 0, 1 або NULL 1 байт на кожні 8 стовпців
Bigint від -263 до 263-1  
Int від -231 (-2 147 483 648) до 231-1 (2 147 483 647)  
Smallint від -215 (-32 768) до 215-1 (32 767)  
Tinyint від 0 до 255  
Десяткові типи
decimal (p, s); numeric (p, s) від -1038 до 1068-1 де p – точність (макс. к-сть цифр у числі), s – степінь (к-сть цифр після коми). Наприклад, для числа 5 123,845: p=7; s=3; від 5 до 17
Числові типи з плаваючою комою
Float від -2,23∙10308 до 2,23∙10308  
Real від -3,4∙1038 до 3,4∙1038  
Фінансові типи
Money від -922 337 203 685 477,5808 до 922 337 203 685 477,5807  
smallmoney від -214 748,3648 до 214 748,3647  
Типи даних «Дата і час»
Datetime З 01.01.1753р. до 31.12.9999р. з точністю до 3,33 мсек.  
smalldatetime З 01.01.1900р. до 06.06.2079р. з точністю до 1 хв.  
Символьні / текстові типи
char (n) n=1 ÷ 8 000 символів ANSI. Розмір фіксований. Недозаповнені поля доповнюються пробілами. 1 для кожного символу
varchar (n) n=1 ÷ 8 000 символів ANSI. Розмір змінний (пробілами не доповнюється). 1 для кожного символу + 2-байт-ний вка-зівник
varchar (max) До 2 147 483 647 символів ANSI. Розмір змінний (до 2 Гбайт).
Text До 2 147 483 647 символів ANSI. Розмір змінний (до 2 Гбайт). 1 для кожного символу
nchar (n) n=1 ÷ 4 000 символів UNICODE; розмір фіксований; недозаповнені поля доповнюються пробілами. 2 для кожного символу
nvarchar (n) n=1 ÷ 4 000 символів UNICODE; розмір змінний (пробілами не доповнюється) 2 для кожного символу + 2-байт-ний вка-зівник
nvarchar (max) До 1 073 741 823 символів UNICODE; розмір змінний (до 2 Гбайт).
Ntext До 1 073 741 823 символів UNICODE. Розмір змінний (до 2 Гбайт) 2 для кожного символу
Бінарні типи
binary (n) n=1 ÷ 8000 байт; бінарні дані фіксованої довжини 1 – 8000
varbinary (n) n=1 ÷ 8000 байт; бінарні дані змінної довжини 1 – 8000 + 2-байт-ний вка-зівник
varbinary (max) Бінарні дані змінної довжини; максимум до 2 147 483 647 байтів До 2 Гб + 2-байт-ний вка-зівник
Image Бінарні дані змінної довжини; максимум до 2 147 483 647 байтів До 2 Гб
Спеціальні типи
Timestamp Унікальне значення в межах БД, що вказує на порядок змін; генерується автоматично  
uniqueidentifer Глобальний унікальний ідентифікатор (Globally Unique Identifier – GUID)  
sql_variant Дає можливість зберігати в одному стовп­ці дані різних типів (за винятком text, ntext, image, timestamp, xml, varchar(max), varbinary(max), nvarchar(max)) до 8000
Xml Символьне поле, що зберігає XML-дані до 2 Гб

Числові типи із плаваючою комою float і real рекомендують ви­користовувати лише тоді, коли вхідні дані виходять за границю діапа­зонів точних числових типів даних decimal (numeric).

Типи даних money і smallmoney призначені для зберігання грошових значень, однак, через їхнє обмеження в чотири десяткових розряди після коми, вони рідко використовуються у фінансових про­грамах. Дані програми вимагають виконання розрахунків із точністю до 6, 8, а іноді 12 знаків після коми, і тому, замість фінансових типів, використовують decimal (numeric).

Серед символьних типів є, на перший погляд, чимало однотип­них, і відмінності між ними, хоча й ледве помітні, але дуже важливі. Тип даних char як в ANSI, так і в UNICODE має фіксований розмір. Тому для нього потрібно однаковий об’єм пам’яті при довільній кіль­кос­ті символів, що зберігаються в стовпці. Наприклад, стовпець із ти­пом даних char(30) займає 30 байт пам’яті незалежно від того, збері­гається в ньому один символ чи тридцять, а невикористана пам’ять доповню­ється пробілами. А для зберігання кожного символу в стовпці з типом даних varchar(30) необхідно лише один байт.

Типи даних text і ntext призначені для зберігання великих масивів символьних даних. Однак ці типи мають ряд обмежень: до них неможна застосовувати оператор рівності чи операцію об’єднання; багато системних функцій не можуть працювати із цими типами даних. Через ці обмеження в SQL Server 2005 були введені типи даних varchar(max) і nvarchar(max), які об’єднують можливості поперед­ніх, можуть зберігати до 2 Гб даних та не мають обмежень щодо їхнього використання з різними операціями та функціями.

Типи даних binary / varbinary переважно використовують для збереження групи невеликих файлів розміром 4-6 Кб, що містять різні дані в двійковому форматі. Тип даних image дає можливість зберігати не лише фотографії, але й довільні документи Word, Excel, PDF тощо, довільні файли, розмір яких не перевищує 2 Гб. Для усунення обме­жень, що накладаються на тип даних image при використанні з різни­ми операціями та функціями, у SQL Server 2005 був введений тип даних varbinary(max), що теж дає можливість зберігати об’єм даних до 2 Гб.

п.1
а)

б)
п.2
п.3
п.4
п.5
п.6
п.7


Рис. 2.5. Створення нової таблиці

Створення таблиці:

1. У панелі Object Explorer (оглядач об’єктів) для вибраної бази даних розкрити вузли, як на рис. 2.5а, та в контекстно­му меню вузла Tables (таблиці) вибрати команду New Tables… (створити таблицю), після чого відкриється вікно Table Designer (конструктор таблиць) (2.5б).

2. Вписати назву таблиці в поле Name (ім’я), що розміщене на панелі Properties (Властивості).

3. Вибрати приналежність таблиці до певної схеми з випада­ючого списку поля Schema (схема), що розміщене на панелі Properties (Властивості).

4. Вибрати файлові групи, у яких зберігатимуться дані цієї таблиці.

5. Сформувати стовпці таблиці, задаючи ім’я стовпця, його тип даних та дозвіл на NULL.

6. За допомогою вкладки Column Properties (властивості стовпців) задати значення властивостей стовпців таблиці.

7. Зберегти таблицю.

Приналежність до заданих файлових груп визначається окремо для звичайних даних і окремо для великих об’єктів:

· Для визначення місця зберігання звичайних даних розкрийте вузол розділу Regular Data Space Specifica­tion (специфікація звичайного простору даних) (рис. 2.5б, п.4) і у випадаючому списку File or Partition Scheme Name (ім’я групи файлів чи схеми розділів) виберіть необхідну групу файлів.

· Для визначення місця зберігання даних великих об’єктів виберіть необхідну групу файлів із випадаючого списку поля Text/Image Filegroup (група файлів Text/Image).

Спеціальна конструкція null, що означає «невідомий» чи «відсутній», дає можливість зберігати в стовпці пусті значення. null не є значенням, і тому не потребує пам’яті для свого збереження. Якщо ж дозвіл на null не встановлений, то це вимагає від користувача обов’язкового введення значення в зазначений стовпець.

Набір властивостей вкладки Column Properties (властивості стовпців)

1. Name (Ім’я) – ім’я стовпця.

2. Allow Nulls (Дозволити значення null) – дозволяє або забороняє значення null.

3. Length (Довжина) – вказує число символів, дозволених для сим­вольних типів даних.

4. Default Value or Binding (значення або прив’язування за замов­чуванням) – виводить значення за замовчуванням, яке вста­новлю­ється, коли в стовпець не було нічого введено. Значення за за­мовчуванням може бути введено у вигляді тексту або ж вибране з випадаючого списку, де відображаються всі глобальні значення за замовчуванням, що визначені в базі даних.

5. Precision (точність) – вказує максимальну кількість цифр у значеннях стовпця з типом decimal.

6. Scale (масштаб) – вказує максимальну кількість цифр справа від десяткової коми в значеннях стовпця з типом decimal.

7. Computed Column Specification (специфікація обчислюваного стовпця) – виводить інформацію про стовпець, що містить ре­зультат обчислень із використанням даних інших стовпців таблиці. У полі (Formula) [(формула)] задається вираз, згідно якого обчислюється значення для стовпця. В якості цього виразу може бути довільне коректне поєднання операторів, функцій, констант та значень інших стовпців цієї таблиці (оператори та функції наводяться в табл. 3.1). Поле Is Persisted (є збережува­ним у базі даних) вказує чи зберігаються результати обчислень у базі даних (значення Yes (так)), чи в базі зберігається лише формула (значення No (ні)), а самі значення обчислюються лише при звертанні до цього стовпця.

8. Identity Specification (специфікація ідентифікуючого стовпця) – виводить інформацію про стан стовпця в режимі авто­матичного генерування унікальних числових ідентифіка­торів стрічок. Для включення стовпця в режим ідентифікації необхідно встановити в його полі (Is Identity) [(є ідентифікуючим стовпцем)] значен­ня Yes (так), у полі Identity Increment (початкове значення) задати вихідне значення, а в Identity Seed (приріст) – значення інкременту. Вихідне значення – це початкове значення, що встановлюється для найпершої стрічки таблиці, а інкремент визначає, наскільки SQL Server збільшує (зменшує) цю початко­ву величину при генеруванні кожного наступного значення. Ця властивість доступна лише для цілочисельних типів, а для використання з типами decimal та numeric необхідно встано­вити нуль розрядів після коми.

9. Collation (таблиця сортування) – задає порядок сортування стовпця, який використовується SQL Server при сортуванні стрі­чок результатів запиту.

10. RowGuid (ідентифікатор GUID стрічки) – вказує на наявність глобальних унікальних ідентифікаторів стрічок; може бути за­стосованим лише для стовпців із типом даних uniqueidentifer. GUID формується на основі номера мережевої плати, унікаль­ність якого гарантується виробниками в найближчі 100 років.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: