База данных. ЭУМК Базы данных. Пояснительная записка Теоретический раздел Практический раздел Раздел контроля знаний Вспомогательный раздел Пинск
Скачать 2.33 Mb.
|
Создание пользовательских типов данных SQL Server позволяет на основе системных типов данных создавать пользовательские типы со всеми предварительно заданными параметрами, включая все ограничения и умолчания. В качестве примера создадим тип данных phone, который будет использоваться в таблице Clients для хранения телефонного номера клиента. Для его создания воспользуемся графическим интерфейсом утилиты Management Studio. 1. В дереве обозревателя объектов раскройте папки «Базы данных – Sales – Программирование - Типы». В контекстном меню узла «Определяемые пользователем типы данных» выберите команду «Создать определяемый пользователем тип данных». 2. В появившемся окне в текстовом поле «Имя» введите phone. В раскрывающемся списке «Тип данных» выберите nchar. В качестве длины введите 10. Отметьте параметр «Разрешить значения null», чтобы иметь возможность не указывать телефонный номер при добавлении нового клиента. 3. В секции «Привязки» оставьте пустые значения и щелкните на кнопке Ok. Созданный пользовательский тип данных должен появиться в дереве обозревателя объектов. 3.9 Создание таблиц в конструкторе таблиц Каждая таблица может содержать до 1024 столбцов. Имена таблиц и столбцов должны соответствовать правилам для идентификаторов: они (имена столбцов) должны быть уникальными в пределах таблицы, другими словами, можно использовать одинаковые имена столбцов в разных таблицах одной БД. Назначаемые данным типы должны выбираться из типов данных, используемых MS SQL Server. Все действия по созданию таблицы можно выполнить в конструкторе таблиц: 1. Щелкните правой кнопкой узел таблиц базы данных в Обозревателе объектов и нажмите кнопку Создать таблицу. В появившемся окне следует ввести следующую информацию: • Column Name - имя поля; • Data Туре - тип поля; • Allow Nulls - разрешение не вводить данные в столбец. Значение NULL обозначает факт отсутствия какого-либо значения. 2. Заносим в поля значения, как показано на рисунке 1.8. Рис. 1.8. Создание таблицы Suppliers (Поставщики) 3. Сделаем поле CodeSuppliers ключевым. Для создания первичного ключа: • в конструкторе таблиц щелкните селектор строк для столбца базы данных, который необходимо определить в качестве первичного ключа. Чтобы выделить несколько столбцов, нажмите и удерживайте клавишу CTRL и щелкните селекторы строк для остальных столбцов. • Щелкните правой кнопкой мыши селектор строк столбца и выберите команду Задать первичный ключ. Будет автоматически создан индекс первичного ключа с именем, состоящим из «РК_» и имени таблицы; его можно найти в диалоговом окне Индексы и ключи. Для изменения первичного ключа: • откройте в конструкторе таблиц таблицу, чей первичный ключ необходимо изменить, правой кнопкой мыши щелкните Конструктор таблиц и выберите пункт Индексы/Ключи в контекстном меню. • В диалоговом окне Индексы/Ключи выберите индекс первичного ключа из списка Выберите первичный/уникальный ключ или индекс. • Выполните действие, руководствуясь таблицей 1.1. Таблица 1.1 - Изменение первичного ключа Действие Процедура выполнения Переименование первичного ключа Введите новое имя в поле Имя. Убедитесь, что новое имя не совпадает с именами в списке Выбранный первичный/уникальный ключ или индекс. Установка параметра кластеризации Выберите Создать как CLUSTERED, и из раскрывающегося списка выберите нужный параметр. В таблице может существовать только один кластеризованный индекс. Если этот параметр недоступен для выбранного индекса, то сначала снимите этот флажок в существующем кластеризованном индексе. Определение коэффициента заполнения Разверните категорию Определение заполнения и введите целое число от 0 до 100 в поле Коэффициент заполнения. Изменение порядка столбцов Выберите Столбцы и нажмите троеточие (...) справа от свойства. В диалоговом окне Столбцы индекса удалите столбцы из первичного ключа. Затем снова добавьте эти столбцы в необходимом порядке. Чтобы удалить столбец из ключа, просто удалите имя столбца из списка имен Столбец. 4. В нижнем окне (Column properties) можно указать следующую информацию: • Description - описание столбца (вводится произвольная информация); • Default Value - значение в столбце, вводимое по умолчанию (если пользователь не ввел данные в столбец); • Identity - свойство IDENTITY обычно используется для автоматического присвоения уникальных идентификационных номеров или первичных ключей. Примечание. Свойство IDENTITY, может использоваться только с целочисленными значениями. • Identity Seed - начальное значение счетчика записей, которое присваивается первой записи, загружаемой в таблицу; • Identity Increment - значение приращения, которое прибавляется к значению идентификатора предыдущей загруженной строки. Необходимо указывать либо оба аргумента (и seed, и increment), либо не указывать ни одного из них. Если ничего не указано, применяются значения по умолчанию (1,1). 5. Набранную таблицу следует сохранить, используя для этого кнопку **** и введя имя Suppliers. Создание таблицы "клиенты" (Clients) Создадим таблицу клиенты в соответствии с вышеприведённым сценарием и нижеследующими данными: C o d e C l i e n t T i t l e A d d r e s s T o Post Address City I Index Country Telephone Fax int NOT NULL, VARCHAR(40) NOT NULL, VARCHAR(30) NOT NULL, VARCHAR(30) NOT NULL, VARCHAR(60) NOT NULL, VARCHAR(15) NOT NULL, VARCHAR(10), VARCHAR(20) NOT NULL, VARCHAR(24) NOT NULL, VARCHAR(24) Создадим первичный ключ по полю CodeClient. Для этого выделим его и в контекстном меню выберем пункт Set Primary key. Сохраним описание таблицы и введя имя Clients. Создание таблицы "заказы" (Orders) C o d e O r d e r C o d e C l i e n t C l i e n t C o d e E m p l o y e e E m p l o y e e D a t e A c c o m o d a t i o n D a t e P u r p o s e D a t e E x e c u t i o n C o d e D e l i v e r y D e l i v e r y C o s t D e l i v e r y T i t l e A d d r e s s e e A d d r e s s A d d r e s s e e C i t y A d d r e s s e e I n d e x A d d r e s s e e C o u n t r y A d d r e s s e e i n t NOT NULL i n t NOT NULL, VARCHAR(40), i n t NOT NULL, VARCHAR(30), d a t e t i m e , d a t e t i m e , d a t e t i m e , i n t NOT NULL, VARCHAR(40), n u m e r i c ( 1 0 , 3 ) , VARCHAR(40) NOT NULL, VARCHAR(60) NOT NULL, VARCHAR(15) NOT NULL, VARCHAR(10) NOT NULL, VARCHAR(20) NOT NULL Аналогичным образом создадим таблицу заказы в соответствии с нижеприведёнными данными. Зададим для неё первичный ключ по полю Создание таблицы " товары " (Goods) Теперь можно создать таблицу "товары" (goods) с первичным ключом по полю CodeGoods. Теперь можно создать таблицу "товары" (goods) с первичным ключом по полю CodeGoods. C o d e G o o d s M a r k C o d e S u p p l i e r s S u p p l i e r C o d e T y p e C a t e g o r y P r i c e I n W a r e h o u s e E x p e c t e d M i n i m a l S t o c k D e l i v e r i e s S t o p p e d i n t NOT NULL, VARCHAR(40) NOT NULL, i n t NOT NULL, VARCHAR(40), i n t NOT NULL, VARCHAR(30), n u m e r i c ( 1 0 , 3 ) , i n t , i n t , i n t , v a r c h a r ( 3 ) Создание таблицы "Типы или категории" (Types) Подобным образом создадим таблицу "Типы или категории" согласно нижеследующим данным с первичным ключом CodeType. C o d e T y p e C a t e g o r y D e s c r i p t i o int NOT NULL, VARCHAR(30) NOT NULL, n text Создание таблицы "заказано" (Ordered) Таким же образом создадим таблицу "заказано" в соответствии с нижеприведёнными данными. Здесь первичный ключ составной, т.к. состоит из двух полей: CodeOrder, CodeGoods. C o d e O r d e r C o d e G o o d s G o o d s D i s c o u n t P r i c e int NOT NULL, int NOT NULL, VARCHAR(40), numeric(5,4), int Создание таблицы "сотрудники" (Employees) Согласно следующим данным создадим таблицу сотрудников компании с первичным ключом CodeEmployee. C o d e E m p l o y e e i n t NOT NULL S u r N a m e Name P o s t R e f e r e n c e D a t e B i r t h D a t e H i r i n g A d d r e s s C i t y I l n d e x C o u n t r y H o m e T e l e p h o n e A d d i t i o n a l P h o t o N o t e S u b m i t s VARCHAR(20) NOT NULL, VARCHAR(10) NOT NULL, VARCHAR(30) NOT NULL, VARCHAR(25) NOT NULL, d a t e t i m e , d a t e t i m e , VARCHAR(60) NOT NULL, VARCHAR(15) NOT NULL, VARCHAR(10) NOT NULL, VARCHAR(20) NOT NULL, VARCHAR(24) NOT NULL, VARCHAR(2 4) NOT NULL, t e x t , t e x t , VARCHAR(30) Создание таблицы "доставка" (Deliveries) Также по нижеследующим данным создадим таблицу доставка с первичным ключом CodeDelivery. C o d e D e l i v e r y T i t l e T e l e p h o n e i n t NOT NULL, VARCHAR(40) NOT NULL VARCHAR(24) NOT NULL 3.10 Резервное копирование базы данных Данные, хранящиеся в базах данных, являются стратегической ценностью любой компании, поэтому их сохранность – наивысший приоритет! 1. Выберем в контекстном меню базы данных BOREI пункт Задачи - Создать резервную копию. 2. В открывшемся диалоге Резервное копирование базы данных - BOREI (рис. 1.9) установим некоторые параметры: • База данных — BOREI (это база данных для резервного копирования); • Тип резервной копии — Полная (тип резервной копии — полный; для первого резервного копирования применяется только такой; если резервная копия уже имеется и вы не желаете создавать заново полную копию, а внести изменения в старую, выберите пункт Разностная); • Компонент резервного копирования — База данных; • Имя — поле для ввода имени резервной копии: можно оставить по умолчанию; • Создать резервную копию: — диске Рис. 1.9. Диалоговое окно Резервное копирование базы данных – BOREI 3. Нажмите кнопку Добавить... в этом диалоге. Откроется диалоговое окно Выбор места расположения резервной копии (рис. 1.10). В нем в поле Имя файла введите имя файла, в который будет выполнено резервное копирование (у нас это «C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\MSSQL\Borei.bak» Рис. 1.10. Диалоговое окно Выбор места расположения резервной копии 4. Нажмите OK в диалоговом окне Выбор места расположения резервной копии. Оно закроется, а в списке Назначения окна Резервное копирование базы данных – BOREI появится строка «C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\MSSQL\Borei.bak» (рис. 1.9). Выберите ее и нажмите кнопку ОК. Произойдет резервное копирование по указанному пути, после чего появится диалог с текстом «The backup of database 'BOREI' completed successfully». Нажмите OK и в нем. 4 Контрольные вопросы 1) Расскажите о назначении среды Management Studio. 2) Как открыть среду Management Studio? 3) Что такое пользователь базы данных и как он создается? 4) Как создать новую базу данных в SQL Server? 5) Как осуществляется соединение пользователя с базой данных? 6) Расскажите о порядке создания таблицы базы данных? 7) Расскажите о первичном индексе SQL Server. 8) Как осуществляется резервное копирование базы данных? ЛАБОРАТОРНАЯ РАБОТА № 2 АРХИТЕКТУРА БАЗ ДАННЫХ СЕРВЕРА SQL 1 Цель работы 1) Изучить приёмы работы с диаграммами баз данных. 2) Изучить приёмы изменения таблиц и их свойств. 3) Изучить правила создания индексов. 4) Изучить правила создания отношений между таблицами. 5) Изучить приёмы поддержания ссылочной целостности базы данных. 6) Изучить правила создания ограничений. 2 Задание 1. Построить начальную версию диаграммы базы данных Борей. 2. Используя визуальные инструменты конструктора таблиц, выполнить предлагаемые примеры по созданию индексов. 3. Используя визуальные инструменты конструктора баз данных: 3.1. установить отношение между родительской таблицей Types на основе её первичного ключа CodeType и дочерней таблицей Goods посредством её внешнего ключа CodeType путём создания ограничения внешнего ключа для таблицы Types; 3.2. установить отношение между родительской таблицей Suppliers на основе её первичного ключа CodeSuppIiers и дочерней таблицей Goods посредством её внешнего ключа CodeSupliers путём создания ограничения внешнего ключа для таблицы Goods; 3.3. установить отношение между родительской таблицей Clients на основе её первичного ключа CodeClient и дочерней таблицей Orders посредством её внешнего ключа CodeClient путём создания ограничения внешнего ключа для таблицы Orders; 3.4. установить отношение между родительской таблицей Employees на основе её первичного ключа CodeEmployee и дочерней таблицей Orders посредством её внешнего ключа CodeEmployee путём создания ограничения внешнего ключа для таблицы Orders. 4. Используя конструктор таблиц: 4.1. установить отношение между родительской таблицей Deliveries на основе её первичного ключа CodeDelivery и дочерней таблицей Orders посредством её внешнего ключа CodeDelivery путём создания ограничения внешнего ключа для таблицы Orders; 4.2. установить отношение между родительской таблицей Orders на основе её первичного ключа CodeOrder и дочерней таблицей Ordered посредством её внешнего ключа CodeOrder путём создания ограничения внешнего ключа для таблицы Ordered; 4.3. установить отношение между родительской таблицей Goods на основе её первичного ключа CodeGoods и дочерней таблицей Ordered посредством её внешнего ключа CodeGoods путём создания ограничения внешнего ключа для таблицы Ordered. 5. Добавить проверочные ограничения для соответствующихполей таблицы Goods: • (InWarehouse >= 0); • (Expected >= 0); • (MinimalStock >= 0); • ((DeliveriesStopped = 'NO') OR (DeliveriesStopped = 'YES')). 6. Выполнить резервное копирование базы данных. 3 Порядок выполнения работы 3.1 Создание диаграммы 3.2 Создание индексов 3.3 Установление отношений между таблицами базы данных Борей 3.4 Ввод данных посредством графического интерфейса 3.1 Создание диаграммы Для создания новой диаграммы базы данных: 1. В обозревателе объектов щелкните правой кнопкой мыши папку Диаграммы баз данных или любую диаграмму в этой папке. 2. Выберите в контекстном меню значок Создать диаграмму базы данных. Появится диалоговое окно Добавить таблицу 3. Выберите последовательно из списка Таблицы все таблицы базы данных Борей, созданные в предыдущей лабораторной работе, и, выбирая опцию Добавить, перенесите их на создаваемую диаграмму. Эти таблицы отобразятся в графическом виде в новой диаграмме базы данных. 4. Меню Диаграммы баз данных будет добавлено в главное меню, и при этом откроется область конструктора. 5. Продолжайте добавлять и удалять таблицы, изменять существующие таблицы и изменять связи между таблицами до завершения новой диаграммы базы данных. Для открытия существующей диаграммы базы данных: 1. в обозревателе объектов раскройте папку Диаграммы баз данных. 2. Дважды щелкните имя схемы базы данных, которую нужно открыть, -ИЛИ- 3. щелкните правой кнопкой мыши имя схемы базы данных, которую нужно открыть, а затем выберите Создать диаграмму базы данных. 4. Схема базы данных открывается в конструкторе схем базы данных, где можно изменить схему. Примечание. Только владелец диаграммы или член роли базы данных db_owner может открыть диаграмму. Для сохранения диаграммы базы данных: 1. в меню Файл выберите Сохранить 2. Если это новая диаграмма, которую еще ни разу не сохраняли, откроется диалоговое окно Выбор имени Введите имя диаграммы. 3. Если были выполнены изменения в таблицах существующей диаграммы, откроется диалоговое окно Сохранить, в котором отображается список изменений, которые будут сохранены в базе данных при сохранении диаграммы. 4. Нажмите кнопку Да (или ОК, если это новая диаграмма) для обновления базы в соответствии с диаграммой. При сохранении диаграммы базы данных будут сохранены все изменения, включая изменения, выполненные в таблицах, столбцах и других ее объектах. Если нет необходимости сохранять все изменения, внесенные в диаграмму базы данных, можно сохранить определенную таблицу или набор таблиц: 1. В диаграмме базы данных выберите таблицы для сохранения. 2. В меню Файл выберите Сохранить выделенное. В диалоговом окне Сохранить откроется список таблиц, которые будут обновлены в базе данных при сохранении выделенных таблиц. 3. Выберите Сохранить текстовый файл, чтобы перед продолжением сохранить список таблиц в текстовом файле в каталоге проекта. 4. В диалоговом окне Сохранить проверьте список таблиц и нажмите кнопку Да, чтобы их сохранить. Примечание. Список таблиц может содержать и другие таблицы, кроме выделенных. Например, если изменить тип данных столбца, связанного с другой таблицей, в этот список будут включены обе таблицы. Для вставки новой таблицы в диаграмму: 1. убедитесь, что осуществлено подключение к базе данных, в которой требуется создать таблицу. 2. Нажмите на панели инструментов кнопку Создать таблицу, -или- ицелкните правой кнопкой мыши диаграмму и выберите пункт Создать таблицу. 3. Измените или сохраните имя таблицы, назначенное системой, в диалоговом окне Выбор имени и нажмите кнопку ОК. Откроется стандартный конструктор таблиц, в котором уже известным нам образом можно определить свойства столбцов и ограничений. 4. При сохранении диаграммы таблица будет создана в базе данных. Для добавления существующей таблицы в диаграмму: 1. убедитесь, что осуществлено подключение к той базе данных, таблицы которой требуется изменить. 2. Выберите таблицу в папке Таблицы. 3. Перетащите таблицу в диаграмму базы данных. 4. Отпустите кнопку мыши. Таблица будет вставлена в диаграмму. Если вставляемая таблица имеет связи с уже существующими на диаграмме таблицами, то они будут автоматически отображены. |