Главная страница
Навигация по странице:

  • Для создания рефлексивной связи

  • Для копирования таблицы из одной диаграммы в другую

  • Для создания уникального индекса

  • Для создания кластеризованного индекса: • выберите в сетке Создать как кластеризованный и из раскрывающегося списка справа от свойства выберите Да. Для изменения свойств индекса

  • Переименование индекса.

  • Для переименования индекса

  • Пример 4.

  • Задания настоящей лабораторной работы (создание ограничения FOREIGN KEY посредством конструктора баз данных) следует выполнить нижеследующую последовательность действий

  • Задания настоящей лабораторной работы (создание ограничения FOREIGN KEY посредством конструктора таблиц) выполним следующую последовательность действий

  • Проверка существующих данных при создании проверочного ограничения

  • 3.4 Ввод данных посредством графического интерфейса

  • ЛАБОРАТОРНАЯ РАБОТА № 3 СОЗДАНИЕ СЦЕНАРИЕВ В СРЕДЕ MANAGEMENT STUDIO 1. Цель работы

  • 3 Порядок выполнения работы

  • База данных. ЭУМК Базы данных. Пояснительная записка Теоретический раздел Практический раздел Раздел контроля знаний Вспомогательный раздел Пинск


    Скачать 2.33 Mb.
    НазваниеПояснительная записка Теоретический раздел Практический раздел Раздел контроля знаний Вспомогательный раздел Пинск
    АнкорБаза данных
    Дата26.02.2023
    Размер2.33 Mb.
    Формат файлаpdf
    Имя файлаЭУМК Базы данных.pdf
    ТипПояснительная записка
    #956531
    страница12 из 18
    1   ...   8   9   10   11   12   13   14   15   ...   18
    Для создания отношения «многие ко многим» между таблицами:
    1. добавьте таблицы, которые необходимо связать отношением «многие ко многим» в диаграмму базы данных.
    2. Создайте третью таблицу, щелкнув диаграмму правой кнопкой мыши и выбрав Создать таблицу. Эта таблица станет связующей.
    3. В диалоговом окне Выбор имени измените имя, назначенное системой.
    Например, связующую таблицу для таблиц titles и authors можно назвать titleauthors.
    4. Скопируйте столбцы первичных ключей обеих таблиц в связующую таблицу.
    В эту таблицу можно добавить другие столбцы, как в любую другую таблицу.
    5. Создайте первичный ключ в связующей таблице так, чтобы он содержал все столбцы первичных ключей исходных таблиц.
    6. Определите отношение «один ко многим» между каждой из первоначальных таблиц и связующей таблицей. Связующая таблица должна находиться на стороне «многих» обоих отношений.
    Для создания рефлексивной связи:
    1. в диаграмме базы данных щелкните переключатель строк для столбца базы данных, который необходимо связать с другим столбцом, и перетаскивайте указатель за пределы таблицы, пока не появится линия.
    2. Перетащите линию назад к выбранной таблице.
    3. Отпустите кнопку мыши. Появится диалоговое окно Таблицы и столбцы.
    4. Выберите столбец внешнего ключа и таблицу первичного ключа, с которой необходимо установить связь.
    5. Дважды нажмите кнопку ОК, чтобы создать связь. Можно скопировать таблицу из одной диаграммы базы данных в другую в той же самой базе данных. Копирование таблицы из одной диаграммы базы данных в другую диаграмму добавляет ссылку на таблицу во второй диаграмме. При этом таблица не будет продублирована в базе данных. Например, при копировании таблицы authors из одной диаграммы базы данных в другую, каждая диаграмма будет ссылаться на одну и ту же таблицу authors в базе данных.
    Для копирования таблицы из одной диаграммы в другую:
    1. убедитесь в наличии соединения с базой данных, таблицу которой необходимо скопировать.

    2. Откройте исходные и целевые диаграммы базы данных и в исходной диаграмме выберите таблицу, которую необходимо скопировать в целевую диаграмму.
    3. Нажмите кнопку Копировать на панели инструментов или в меню Схема базы данных (или меню Правка) сделайте выбор Копировать диаграмму в буфер обмена. Это действие помещает выбранное определение таблицы в буфер обмена.
    4. Переключитесь к целевой диаграмме. Эта диаграмма должна быть в той же самой базе данных, где и исходная диаграмма.
    5. Нажмите кнопку Вставить на панели инструментов или меню Правка выберите Вставить. Содержимое буфера обмена появится в новом месте и останется выделенным, пока не будет выполнен щелчок где-либо в другом месте. Если существуют связи между выбранными таблицами и другими таблицами в целевой диаграмме, линии связи будут нарисованы автоматически.
    При редактировании таблицы в любой диаграмме изменения будут отражены в обеих диаграммах. Точно так же при сохранении таблицы в любой диаграмме таблица больше не считается измененной в любой диаграмме.
    3.2 Создание индексов
    Индексы предназначены для ускорения доступа к данным в таблице базы данных. Индекс можно создать, выбрав один или несколько столбцов таблицы, по которым необходимо выполнять поиск. Индексом можно будет пользоваться сразу же после сохранения таблицы.
    Для создания индекса:
    1. в обозревателе объектов щелкните правой кнопкой мыши таблицу, для которой хотите создать полнотекстовый индекс и выберите Проект (Изменить в версии с пакетом обновления 1 (SP1) или более ранней версии). Таблица откроется в Конструкторе таблиц.
    2. В меню Конструктора таблиц выберите пункт Индексы и Ключи.
    3. В диалоговом окне Индексы и Ключи нажмите Добавить.
    4. Выберите новый индекс, в списке Выбранный первичный/уникальный ключ или индекс и определите его свойства в таблице справа.
    5. При необходимости укажите дополнительные параметры индекса и нажмите кнопку Закрыть. Индекс создается в базе данных при сохранении таблицы.
    Для создания уникального индекса:
    • Находясь в сетке, щелкните Тип.
    • Выберите Индекс в раскрывающемся списке справа от свойства.
    • В списке Имя столбца выберите столбцы, которые необходимо проиндексировать. Выбрать можно до 16 столбцов. Для оптимальной производительности следует выбирать только один или два столбца на индекс.
    Для каждого выбранного столбца укажите, будут ли значения данного столбца располагаться в индексе в возрастающем или убывающем порядке.

    • Находясь в сетке, щелкните Уникальный.
    • Выберите Да в раскрывающемся списке справа от свойства.
    • Выберите параметр Пропустить повторяющиеся ключи, чтобы данные, которые создает дублирующийся ключ в уникальном индексе (при помощи инструкции INSERT), были пропущены.
    Для создания кластеризованного индекса:
    • выберите в сетке Создать как кластеризованный и из раскрывающегося списка справа от свойства выберите Да.
    Для изменения свойств индекса:
    • находясь в сетке диалогового окна Индексы и Ключи выберите индекс из списка Выбранный первичный / уникальный ключ или индекс.
    • Измените свойства в сетке. Изменения будут сохранены в базе данных при сохранении таблицы.
    Переименование индекса.
    Новым индексам автоматически присваиваются системные имена в зависимости от имени таблицы базы данных. При создании нескольких индексов таблицы к именам индексов добавляются «_1», « _2» и т.д. Индекс можно переименовать при условии, что его имя будет уникальным в пределах таблицы.
    Примечание. При создании первичного ключа или ограничения уникальности таблицы автоматически создается индекс с таким же именем, что и у ограничения. Поскольку имена индексов должны быть уникальны в пределах таблицы, нельзя создавать или переименовывать индекс так, чтобы его имя совпадало с именем первичного ключа или ограничения уникальности.
    Для переименования индекса:
    Находясь в сетке диалогового окна Индексы и Ключи, выберите индекс из списка Выбранный первичный / уникальный ключ или индекс.
    В сетке выберите Имя и введите новое имя в текстовое поле.
    Изменения будут сохранены в базе данных при сохранении таблицы.
    Удаление индекса
    Индексы могут уменьшить производительность инструкций INSERT, UPDATE и DELETE. Индекс можно удалить, если он уменьшает общую производительность или больше не нужен.
    Для удаления индекса:
    в диалоговом окне Индексы и Ключи выберите индекс, который хотите удалить.

    Нажмите кнопку Удалить. Индекс удаляется из базы данных при сохранении таблицы.
    Примечание. Если индекс был удален в конструкторе таблиц, но не нужно удалять его из базы данных, можно закрыть таблицы без сохранения. Это также отменит все другие изменения с момента последнего сохранения таблицы.
    Пример 1. Создание индекса Namex. Создайте в конструкторе таблиц индекс для таблицы Employees, определяемый следующей инструкцией: CREATE
    INDEX Namex ON Employees (Surname, Name). Эта инструкция определяет индекс с именем Namex для таблицы Employees на основе полей Surname и
    Name.
    Пример 2. Создание уникального индекса. Создайте в конструкторе таблиц уникальный индекс с именем Goodsx для таблицы Goods, определяемый следующей инструкцией: CREATE UNIQUE INDEX Goodsx ON Goods (Mark).
    Пример 3. Создание индекса с убывающим порядком. По умолчанию SQL сохраняет ключи индекса в порядке возрастания. Для изменения порядка на убывающий нужно включить в определение индекса ключевое слово DESC.
    Создайте в конструкторе таблиц уникальный индекс с именем Amountx для таблицы Ordered, определяемый следующей инструкцией: CREATE INDEX
    Amountx ON Ordered (codeorder DESC, amount DESC).
    Пример 4. Модификация индексов. Для изменения определения индекса следует его удалить оператором, и создать заново.
    3.3 Установление отношений между таблицами базы данных
    Борей
    Можно создавать связи между столбцами разных таблиц непосредственно в конструкторе диаграмм, перетаскивая столбцы между таблицами. Для выполнения п.п. 3.1 - 3.4
    Задания настоящей лабораторной работы (создание ограничения
    FOREIGN KEY посредством конструктора баз данных) следует выполнить
    нижеследующую последовательность действий:
    1. в конструкторе баз данных щелкните селектор строк для одного или более столбцов базы данных, которые необходимо связать со столбцом в другой таблице.
    Примечание. Столбцы, которые выбираются для внешнего ключа, должны иметь одинаковый тип данных с первичными столбцами, которым они соответствуют. Каждый ключ должен содержать одинаковое число столбцов.

    Например, если первичный ключ на первичной стороне связи состоит из двух столбцов, необходимо сопоставить каждому из этих столбцов столбец таблицы, который будет входить во внешний ключ на другой стороне связи.
    2. Перетащите выбранный столбец (столбцы) в связанную таблицу.
    3. Отобразятся два диалоговых окна: Связи внешнего ключа и Таблицы и столбцы, второе отображается на переднем плане.
    4. Имя связи устанавливается системой в формате FK_ таблица первичного ключа _таблица внешнего ключа. Можно изменить это значение.
    5. Убедитесь, что Таблица первичного ключа правильно задает таблицу.
    6. Сетка содержит локальные столбцы и соответствующие им внешние столбцы. Можно добавить или удалить столбцы таблицы, либо изменить сопоставления.
    7. Нажмите кнопку ОК. Откроется диалоговое окно Связи внешнего ключа.
    Выбранная связь отображает созданную связь.
    8. Измените свойства связи в сетке.
    9. Нажмите кнопку ОК. чтобы создать связь. Конструктор баз данных отобразит связь между выбранными столбцами. Для выполнения п.п. 4.1 - 4.3
    Задания настоящей лабораторной работы (создание ограничения
    FOREIGN KEY посредством конструктора таблиц) выполним следующую
    последовательность действий:
    1. в обозревателе объектов щелкните правой кнопкой мыши таблицу на стороне внешнего ключа для связи и выберите Проект (Изменить в версии с пакетом обновления 1 (SP1) или более ранней версии). Таблица откроется в конструкторе таблиц.
    2. В меню конструктора таблиц выберите пункт Отношения.
    3. В диалоговом окне Выбранный элемент Отношение щелкните Добавить.
    Связь появится в списке этого окна с установленным системой именем, в формате FK__, где tablename является именем таблицы внешнего ключа.
    4. Щелкните нужную связь в списке Выбранный элемент Отношение.
    5. Щелкните Изменение свойств у существующего отношения в сетке справа и нажмите кнопку с многоточием (...) справа от свойства.
    6. В диалоговом окне Таблицы и столбы в раскрывающемся списке Первичный ключ выберите таблицу, которая будет находиться на стороне первичного ключа связи.
    7. В сетке внизу выберите столбцы, составляющие первичный ключ таблицы. В соседней ячейке сетки справа от каждого столбца выберите соответствующий столбец внешнего ключа таблицы внешнего ключа.
    8. Конструктор таблиц предложит имя для связи. Чтобы его изменить, отредактируйте содержимое текстового поля Имя связи.
    9. Нажмите кнопку ОК, чтобы создать связь.

    В диаграмме базы данных щелкните правой кнопкой таблицу, которая будет содержать ограничение и выберите пункт Проверочные ограничения из контекстного меню.
    -или-
    Откройте таблицу, которая будет содержать ограничение в конструкторе таблиц, щелкните правой кнопкой мыши в конструкторе и выберите пункт
    Проверочные ограничения из контекстного меню.
    Нажмите кнопку Добавить.
    Примечание. Чтобы назвать ограничение по-другому, введите имя в поле Имя ограничения. В поле Выражение в сетке введите SQL-выражения для проверочного ограничения. Например, чтобы ограничить записи в столбце state в таблице authors Нью-Йорком, введите: state = 'NY', а чтобы ограничить записи в столбце zip записями, состоящими из 5 цифр, введите: zip LIKE '[0-9][0-9][0-
    9][0-9][0-9]'.
    Примечание. Убедитесь, что все нечисловые ограничения по значению заключены в одиночные кавычки (').
    Разверните категорию конструктора таблиц, чтобы настроить момент выполнения проверочного ограничения.
    Чтобы проверить выполнение ограничения для данных, которые существовали до создания ограничения, отметьте флажок Проверка существующих данных при создании или повторном включении. Чтобы ограничение проверялось всякий раз, когда происходит добавление или обновление строки в этой таблице, отметьте флажок Принудительное использование для запросов
    INSERT и UPDATE.
    Проверка существующих данных при создании проверочного ограничения
    На диаграмме базы данных щелкните таблицу, содержащую ограничение, правой кнопкой мыши и в контекстном меню выберите Проверочные ограничения.
    -или-
    Откройте таблицу, содержащую ограничение, в конструкторе таблиц, щелкните конструктор таблиц правой кнопкой мыши и в контекстном меню выберите
    Проверочные ограничения.
    Выберите ограничение в списке Выбранные проверочные ограничения.
    Щелкните Проверка существующих данных при создании или повторном включении и выберите Да в раскрывающемся списке.
    3.4 Ввод данных посредством графического интерфейса

    1. Заполнение таблицы Types. Сделайте щелчок правой кнопкой на таблице
    Types в Object Explorer и выберите Открыть таблицу. Таблица откроется в окне редактора со строкой, подготовленной для ввода данных. Введите в таблицу
    Types две строки данных в порядке следования полей:
    1 Мониторы
    2 Принтеры
    2. Заполнение данными таблицы Suppliers (Поставщики). Таким же образом заполним две строки в таблице Suppliers (Поставщики):
    1, Tecnis, Вероника Кудрявцева, Менеджер по закупкам, ул.Большая Садовая,
    12, Москва, 123456, Россия, (095) 325-2222, (095)325-2222;
    2, Uni, Дмитрий Сидоров, Координатор, Бостон 78934, Новый Орлеан, 70117,
    США, (100) 555-4822;
    3. Заполнение данными оставшихся таблиц будет выполненов следующей лабораторной работе.
    4. Выполните очередное резервное копирование в соответствии с уже известным порядком действий (Лабораторная работа №1, п. 3.10).
    4 Контрольные вопросы
    1) Для чего используются диаграммы базы данных?
    2) Как создать и сохранить новую диаграмму базы данных?
    3) Сколько диаграмм можно создать для одной базы данных?
    4) Укажите последовательность действий по включению в диаграмму новой таблицы?
    5) Что такое "Ограничение внешнего ключа"? Укажите последовательность действий по созданию на диаграмме базы данных ограничения внешнего ключа.
    6) Какие типы проверочных ограничений Вы знаете? Укажите последовательность действий по добавлению проверочного ограничения к таблице визуальными средствами конструктора базы данных.

    ЛАБОРАТОРНАЯ РАБОТА № 3
    СОЗДАНИЕ СЦЕНАРИЕВ В СРЕДЕ MANAGEMENT STUDIO
    1. Цель работы
    1) Научиться применению инструкции INSERT.
    2) Научиться применению инструкции UPDATE.
    3) Научиться применению инструкции DELETE.
    2 Задание
    1) Заполнить данными все таблицы созданной базы данных BORE1 с использованием оператора INSERT и графического интерфейса Management
    Studio.
    2) Изучить правила выполнения сценария посредством интерфейса Management
    Studio.
    3) Выполнить примеры по изменению данных.
    4) Выполнить примеры по удалению данных.
    3 Порядок выполнения работы
    3.1 Ввод данных посредством выполнения инструкции INSERT
    3.2 Обновление (изменение) данных
    3.3 Удаление данных
    3.1 Ввод данных посредством выполнения инструкции INSERT
    1. Используя графический интерфейс Обозревателя объектов, последовательно откройте таблицы Types и Suppliers и удалите введённые ранее в них строки.
    2. Откройте редактор, нажав на панели инструментов Management Studio кнопку New Queiy.
    3. Проверьте и, если необходимо, выберите из выпадающего списка на панели инструментов редактора запросов базу данных, для которой будет выполнен запрос.
    4. Введите в окно редактора запросов и выполните следующий код:
    SET IDENTITY_INSERT Types ON;
    Выполнять запрос необходимо, нажав кнопку или F5.
    Примечание. Данная строка необходима нам, если это свойство установлено для столбца первичного ключа, и мы собираемся вручную задать значение ключевого поля CodeType. Если предоставить серверу самостоятельно задать значение ключевого поля при добавлении новой строки, то эту часть запроса можно не выполнять.

    5. Теперь введите и выполните инструкцию, которая добавляет строку в таблицу Types:
    INSERT INTO Types (CodeType, Category) VALUES (1, 'Мониторы')
    Примечание. Помните, что строки символов, заключённые кавычки, являются чувствительными к регистру.
    6. Введите и выполните следующий код, добавляющий строку в таблицу
    Suppliers: SET IDENTITY_INSERTSuppliers ON;
    Теперь введём код для создания строк:
    INSERT INTO Suppliers (CodeSuppliers, Title, AddressTo, Post, Address, City,
    IIndex, Country, Telephone, Fax) VALUES (1, 'Tecnis', 'Вероника Кудрявцева',
    'Менеджер по закупкам', 'ул. Большая Садовая, 12', 'Москва', '123456', 'Россия',
    '(095) 325-2222', '(095) 325-2222');
    INSERT INTO Suppliers (CodeSuppliers, Title, AddressTo, Post,Address, City,
    IIndex,
    Country,
    Telephone)
    VALUES
    (2,
    'Uni',
    'Дмитрий
    Сидоров',
    'Координатор', 'Бостон 78934', 'Новый Орлеан', '70117', 'США', '(100) 555-4822');
    GO
    Обратите внимание, что значение для IIndex является строковым, а не числовым.
    7. Проверим правильность ввода наших данных, открыв таблицы в
    Обозревателе объектов путём выбора Открыть таблицу во всплывающем меню.
    8. Для ввода остальных данных в таблицы Types, Suppliers, Clients, Deliveries,
    Employees, Goods, Orders и Ordered выполним следующие действия:
    • скопируем и сохраним в файле Insert.sql текст, приведённый в Приложении 1 настоящего руководства;
    • откроем сохранённый файл Insert.sql в Management Studio и выполним его
    9. Просмотрим результат, открыв последовательно таблицы в редакторе
    Management Studio. При этом проверим правильность введенных данных, обратив внимание на то, нет ли полей, содержащих только значения NULL.
    Такие столбцы будут обнаружены в таблице Goods: Supplier, Category; в таблице Orders: Client, Employee, Delivery, а также в таблице Ordered: Goods и
    Price. Их нужно заполнить, обратившись к соответствующим таблицам и воспользовавшись имеющимися значениями: CodeClient, CodeEmployee,
    CodeGoods, что и будет выполнено в следующем подразделе 3.2.
    1   ...   8   9   10   11   12   13   14   15   ...   18


    написать администратору сайта