Управління таблицями без використання transact-sql

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

Після того, як ви створили базу даних, ваше наступне завдання – створення всіх таблиць цієї бази даних. Знову ж таки, ви можете створювати таблиці, використовуючи або Object Explorer, або Transact-SQL. І знову, лише Object Explorer тут розглядатиметься.

Для створення таблиці за допомогою Object Explorer розкрийте папку Databases, розкрийте базу даних, клацніть правою кнопкою миші по вкладеній папці Tables, а потім виберіть New Table. Створення таблиць та всіх інших об'єктів бази даних з використанням мови Transact-SQL буде детально обговорюватись у розділі 5.

Для демонстрації створення таблиці за допомогою Object Explorer буде використано таблицю department у базі даних sample. Введіть імена всіх стовпців та їхні властивості. Імена стовпців, їх типи даних так само, як і властивість стовпців null, повинні бути введені у двовимірну матрицю, як показано у правій верхній панелі на рис. 3.7.

Всі типи даних, що підтримуються системою, можуть бути відображені (і один з них вибраний), якщо клацнути мишею по знаку стрілки в стовпці Data Туре (стрілка з'являється, коли осередок опиняється у фокусі введення). Після цього ви можете вводити дані у рядках Length, Precision та Scale для вибраного типу даних у таблиці Column Properties (див. панель праворуч внизу на рис. 3.7). Деякі типи даних, такі як char, вимагають значення для рядка Length, а деякі, наприклад, як decimal, потребують значень у рядках Precision та Scale. З іншого боку, таких типів даних, як integer, не потрібно задавати жодних значень у цих рядках. (Допустимі значення для вибраних типів даних підсвічуються у списку всіх можливих властивостей стовпця.)

Прапорець у полі Allow Nulls повиненбути встановлений, якщо ви хочете дозволити вводити в цей стовпець таблиці значення null. Подібним чином, якщо для стовпця існує значення за замовчуванням, його потрібно ввести в рядок Default. Value or Binding у таблиці Column Properties. (Значення за замовчуванням-це значення, яке буде поміщено в стовпець таблиці, якщо для нього явно не встановлено жодного значення.)

Стовпець dept_no є первинним ключем таблиці department. (Обговорення первинних ключів див. у розділі 1.) Для вказівки того, що стовпець є первинним ключем таблиці, ви повинні клацнути по стовпцю правою кнопкою миші та вибрати пункт Set Primary Key. Під кінець закрийте праву панель з інформацією щодо нової таблиці. Після цього система відобразить діалогове вікно Choose Name, де потрібно ввести ім'я таблиці.

управління

Мал. 3.7. Створення таблиці department із використанням SQL Server Management Studio

Щоб перейменувати таблицю, клацніть правою кнопкою миші по цій таблиці в папці Tables і виберіть Rename. Щоб видалити таблицю, клацніть правою кнопкою миші на ім'я таблиці в папці Tables у базі даних, де знаходиться таблиця, і виберіть Delete.

Тепер ви повинні створити три інші таблиці бази даних sample.

transact-sql

Мал. 3.8. Діалогове вікно Table Properties для таблиці employee

Після того, як ви створили всі чотири таблиці бази даних sample (employee, department, project і works on), ви можете використовувати інші засоби SQL Server Management Studio для відображення відповідних діаграм "сутність - відношення" (entity-relationship, ER) бази даних sample . (Процес конвертування існуючих таблиць бази даних у відповідні діаграми ER називається зворотним проектуванням (reverse engineering).)

Якщо при відкриттідіалогового вікна вас запитують, чи потрібно створювати об'єкти, що підтримуються, клацніть по кнопці Yes.

Перший (і єдиний) крок-це вибір таблиць, які будуть додані в діаграму. Після додавання всіх чотирьох таблиць бази даних sample майстер завершує роботу і створює діаграму (рис. 3.9).

використання

Мал. 3.9. Перша діаграма бази даних sample

Діаграма на рис. 3.9 не є остаточною діаграмою бази даних sample, тому що хоча вона і показує всі чотири таблиці з їх стовпцями (і відповідні первинні ключі), вона не відображає жодних стосунків між таблицями. Відношення між двома таблицями ґрунтується на первинному ключі однієї таблиці та (можливо) відповідному стовпці (стовпцях) іншої таблиці. (Детальне обговорення таких відносин та цілісності посилань див. у розділі 5.)

Є рівно три відносини між існуючими таблицями бази даних sample: по-перше, таблиці department та employee мають відношення 1 :N, тому що для кожного значення стовпця первинного ключа таблиці department (dept_no) існує одне або більше відповідних значень стовпця dept no таблиці employee. Аналогічно, існує відношення між таблицями employee та works on, тому що тільки ті значення, які є для первинного ключа таблиці employee (emp no), також з'являються в стовпці ешр по таблиці works on. (Третє відношення - відношення між таблицями project і works_on, тому що тільки ті значення, які присутні в первинному ключі таблиці project (pr no), з'являються також у стовпці рг таблиці works_on.)

Для створення кожного із трьох описаних відносин вам потрібно перепроектувати діаграму, вказавши стовпці, які відповідають первинним ключам інших таблиць. Подібні стовпці називають зовнішніми ключами.Щоб побачити, як це робиться, використовуйте таблицю employee і визначте її стовпець dept no як зовнішній ключ, який посилається на таблицю department:

1. Клацніть мишею по створеній діаграмі, клацніть правою кнопкою миші за графічною формою таблиці employee у деталізованій панелі та виберіть Relationships. У діалоговому вікні Foreign Key Relationships натисніть кнопку Add.

2. У діалоговому вікні розкрийте стовпець Tables and Columns Specification і натисніть кнопку крапки (. ).

3. Виберіть таблицю з відповідним первинним ключем (таблицю department).

використання

Мал. 3.10. Остаточна діаграма бази даних sample

4. Виберіть стовпець dept no цієї таблиці як первинний ключ і стовпець з тим самим ім'ям у таблиці employee як первинний ключ. Клацніть по кнопці ОК, а потім по кнопці Close.

На рис. 3.10 показано змінена діаграма після створення всіх трьох відносин у базі даних сample.