- •Лабораторный практикум по дисциплине Базы данных и управление ими
- •Часть 2
- •Лабораторный практикум по дисциплине "Базы данных и управление ими"
- •Учебная база данных education3
- •Лабораторная работа № 1
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа №4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 10
- •Лабораторная работа № 11
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •Лабораторная работа № 14
- •Приложение 1
Лабораторная работа № 11
СОЗДАНИЕ И УДАЛЕНИЕ ОБЪЕКТОВ БАЗЫ ДАННЫХ. (DROP, CREATE, DELETE, INSERT)
Порядок выполнения
Внимание!
После каждого изменения структуры таблицы или команд добавления/удаления записей предусмотреть команду вывода всех записей изменяемой таблицы.
-
Изучите синтаксис команд удаления и создания (DROP и CREATE) баз данных (DATABASE), таблиц (TABLE), индексов (INDEX), умолчаний (DEFAULT), процедур (PROCEDURE), функций (FUNCTION), ролей (ROLE), схем (SCHEMA).
-
Средствами Transact-SQL cоздайте базу данных для выполнения лабораторных работ 11-12. Имя этой базы данных состоит из номера группы и Вашей фамилии (например, КТ‑406_Иванов_лаб11-12).
-
Используя графический интерфейс, познакомьтесь с параметрами созданной базы данных. Для этого в обозревателе объектов выделите имя созданной базы данных и вызовите контекстное меню. Внимательно изучите состав и назначение опций.
-
С помощью команды DROP DATABASE удалите созданную базу данных.
-
С помощью справочной системы познакомьтесь с синтаксисом инструкции CREATE TABLE. Снова создайте ту же базу данных.
-
Изучите:
-
наиболее широко используемые типы данных, используемые для полей таблиц в MSSQL (см. приложение 2),
-
синтаксис команд удаления и вставки записей (DELETE, INSERT).
-
-
Средствами Transact-SQL:
-
создайте в указанной базе данных таблицу avto с полями (CREATE TABLE):
-
Номер записи,
-
Марка автомобиля,
-
Год выпуска,
-
Дата покупки,
-
Фамилия покупателя,
-
введите 5 записей (INSERT). Дважды отсортируйте таблицу по полю, выбранному Вами, задавая это поле его именем или псевдонимом,
-
удалите первые три записи таблицы avto. (DELETE, опция TOP),
-
удалите одну из оставшихся записей (опция PERCENT),
-
удалите оставшуюся запись таблицы avto.
-
Средствами Transact-SQL:
-
создайте таблицу tovar с полями:
-
Номер записи,
-
Наименование изделия,
-
Поставщик,
-
Марка изделия,
-
Дата выпуска,
-
Цена,
-
Дата покупки,
-
Фамилия покупателя,
-
должны быть обеспечены следующие возможности таблицы:
-
поле Номер записи – первичный ключ, заполняемый автоматически,
-
поле Дата покупки заполняется по умолчанию (соответствует дате проведения занятия),
-
все поля (за исключением поля Дата Выпуска) не допускают значения NULL,
-
введите в таблицу tovar 8 записей,
-
создайте запрос и выведите все записи из таблицы. Вывод выполнить с сортировкой по двум вариантам: по возрастанию и по убыванию, задавая столбец сортировки по имени и/или по номеру,
-
удалите все записи из любой таблицы по Вашему выбору, содержащие значения NULL.
-
Выберите пункт главного меню SSMS Вид\Обозреватель шаблонов. Познакомьтесь с составом и структурой шаблонов, используемых для создания и удаления баз данных (database), таблиц (table), представлений (view), индексов (index), функций (function), триггеров (trigger) и т.д.
-
Создайте базу данных hospital. При создании таблиц для этой БД предусмотрите поля для создания уникальных индексов, а также поля, которые должны заполняться автоматически.
-
Создайте таблицу pacient с полями:
-
код пациента,
-
фамилия пациента,
-
пол пациента,
-
дата рождения пациента,
-
домашний адрес пациента (не менее трех полей),
-
код лечащего врача,
-
диагноз,
-
номер палаты.
-
Создайте таблицу doctor с полями:
-
код лечащего врача,
-
фамилия лечащего врача,
-
категория,
-
телефон лечащего врача.
-
Создайте таблицу palata с полями:
-
номер палаты,
-
этаж,
-
отделение,
-
количество мест,
-
вид палаты (мужская, женская).
-
Введите записи в таблицы средствами Transact-SQL (INSERT);
- во все поля записей всех трех созданных баз (10 записей в первую таблицу и по 5-6 записей во вторую и третью таблицы),
- в отдельные поля записей (3-5 записей).
-
Проанализируйте содержание полей различного типа, допускающих (NULL) и не допускающих (NOT NULL) наличие неопределенных значений для случаев, когда в эти поля вводятся или не вводятся какие-то данные.
-
Средствами T-SQL для базы данных hospital создайте в редакторе (используя окно «Конструктор запросов» !!!) и выполните следующие запросы, обеспечивающие вывод данных из полей связанных таблиц:
-
фамилии пациентов и их лечащих врачей,
-
фамилии врачей, поставивших диагноз, выбранный Вами,
-
фамилии лечащих врачей, поставивших этот диагноз пациентам мужского (или женского – по Вашему выбору) пола старше (или младше) выбранного Вами возраста. В список вывода, кроме фамилий врачей, включить фамилии пациентов, их пол, возраст,
-
фамилии всех пациентов выбранного Вами отделения,
-
фамилии пациентов с диагнозом «пневмония», а также фамилии врачей, поставивших этот диагноз, и номера палат, в которых лежат эти больные,
-
количество пациентов мужского и женского пола для каждого лечащего врача,
-
количество пациентов мужского и женского пола по видам болезней,
-
количество и средний возраст больных для каждого лечащего врача,
-
вывод данных о количестве больных по тем болезням, по которым это количество превышает установленный порог (например, три человека).
-
Предъявите файл результатов преподавателю. Объясните результаты
Контрольные вопросы
-
Какие параметры требуется определить при создании базы данных?
-
Что представляют собой файлы с расширением MDF? NDF?
-
Какие символы недопустимы при обозначении имен баз данных?
-
Что понимается под термином «файловая группа»? Зачем нужны файловые группы?
-
Какой начальный размер устанавливается для базы данных?
-
Что такое «авторасширение»?
-
Какова последовательность создания базы данных с помощью сценария (шаблона)?
-
Приведите синтаксис инструкции создания базы данных. Объясните назначение опций.
-
Приведите синтаксис инструкции создания таблицы базы данных. Объясните назначение опций и характеристики, назначаемые для полей.
-
Опишите правила применения опции ORDER BY для различных способов задания поля сортировки. Продемонстрируйте на примерах.
-
Как влияют на результат функции COUNT() значения NULL, если:
-
поле, содержащее такие значения, включено в качестве аргумента функции (т.е. COUNT(имя поля));
-
используется функция COUNT() без параметра.
-
Приведите подтверждающие примеры
-
Продемонстрируйте создание дополнительного запроса с использованием Конструктора запросов.
-
Покажите полный синтаксис команды SELECT со всеми известными Вам на текущий момент опциями.