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

  • Цель работы: проектирование информационно-логической модели базы данных при помощи case-средства mySQLWorkbench Теоретические сведения 1. Создание ER

  • -диаграммы Среда mySQL Workbench

  • Create new EER Model . EER

  • Отделы

  • Сотрудником

  • Сотрудники

  • Отделам

  • Договоры с Сотрудниками и Предприятиями

  • Платеж

  • Задание

  • Требования к оформлению отчета

  • отчет. Учебная практика 4ИП. Практическая работа 1 2 Построение er модели. 2 Практическая работа 2. 10 Выборка с использованием условий отбора. 10


    Скачать 1.35 Mb.
    НазваниеПрактическая работа 1 2 Построение er модели. 2 Практическая работа 2. 10 Выборка с использованием условий отбора. 10
    Анкоротчет
    Дата11.04.2021
    Размер1.35 Mb.
    Формат файлаdoc
    Имя файлаУчебная практика 4ИП.doc
    ТипПрактическая работа
    #193658
    страница1 из 12
      1   2   3   4   5   6   7   8   9   ...   12

    Скачать и установить:


    1. Сервер MySQL https://www.mysql.com/downloads/




    1. Визуальный инструмент для архитекторов баз данных MySQL Workbench https://www.mysql.com/products/workbench/


    Оглавление

    Практическая работа №1 2

    Построение ER-модели. 2

    Практическая работа №2. 10

    Выборка с использованием условий отбора. 10

    Практическая работа №3. 12

    Выборка с использованием условий отбора групп. 12

    Практическая работа №4. 13

    Соединение таблиц. 13

    Практическая работа №5. 16

    Выборка с использованием кванторов. 16

    Практическая работа №6. 16

    Выборка данных с использованием вложенных запросов. 16

    Практическая работа №7. 18

    Создание таблиц и индексов. 18

    Практическая работа №8-9. 20

    Изменение и удаление таблиц и индексов. 20

    Изменение структуры таблиц. 20

    Практическая работа №10. 27

    Добавление, обновление и удаление записей. 27

    Практическая работа №11. 34

    Управление транзакциями. 34

    Практическая работа №12. 39

    Написание триггеров. 39

    Практическая работа №13-14. 43

    Написание хранимых процедур. 43

    Практическая работа №15 52

    Создание пользователей базы данных, выдача привилегий. 52



    Практическая работа №1

    Построение ER-модели.



    Цель работы: проектирование информационно-логической модели базы данных при помощи case-средства mySQLWorkbench
    Теоретические сведения
    1. Создание ER-диаграммы
    Среда mySQL Workbench предназначена для визуального проектирования баз данных и управления сервером mySQL.
    Для построения моделей предназначена секция Data Modeling:


    Выберем пункт Create new EER Model.

    EER model расшифровывается как Extended Entity-Relationship Model и переводится как Расширенная модель сущностей-связей.
    По умолчанию имя созданной модели myDB. Щелкните правой кнопкой мыши по имени модели и выберите в появившемся меню пункт Edit schema. В появившемся окне можно изменить имя модели. Назовем ее, например, kontora. В именах таблиц и столбцов нельзя использовать русские буквы.

    В этом окне также нужно настроить так называемую «кодовую страницу» для корректного отображения русских букв внутри таблиц. Для этого выберите из списка пункт «utf-8_general_ci». Окно свойств можно закрыть.
    Диаграмму будем строить с помощью визуальных средств. Щелкнем по пункту Add diagram, загрузится пустое окно диаграммы:



    Создать новую таблицу можно с помощью пиктограммы . Нужно щелкнуть по этой пиктограмме, а потом щелкнуть в рабочей области диаграммы. На этом месте появится таблица с названием по умолчанию table1. Двойной щелчок по этой таблице открывает окно редактирования, в котором можно изменить имя таблицы и настроить её структуру.
    Будем создавать таблицу Отделы со следующими столбцами: номер_отдела, полное_название_отдела, короткое_название_отдела. Переименуем table1 в k_dept и начнем создавать столбцы.

    Каждый столбец имеет:

    • имя (не используйте русские буквы в имени!),

    • тип данных. Самые распространенные типы данных:

      • INT – целое число;

      • VARCHAR(размер) – символьные данные переменной длины, в скобках указывается максимальный размер;

      • DECIMAL(размер, десятичные_знаки) – десятичное число;

      • DATE – дата:

      • DATETIME – дата и время.

    Далее располагаются столбцы, в которых можно настроить дополнительные свойства поля, включив соответствующий флажок:

    • PK (primary key) – первичный ключ;

    • NN (not null) – ячейка не допускает пустые значения;

    • UQ (unique) – значение должно быть уникальным в пределах столбца;

    • AI (auto incremental) – это свойство полезно для простого первичного ключа, оно означает, что первичный ключ будет автоматически заполняться натуральными числами: 1, 2, 3, и т.п.;

    • DEFAULT – значение по умолчанию, т.е., значение, которое при добавлении новой строки в таблицу автоматически вставляется в ячейку сервером, если пользователь оставил ячейку пустой.


    Таблица Отделы имеет следующий вид:

    Затем создадим таблицу Сотрудники со следующими столбцами: номер_сотрудника, имя_сотрудника, должность, дата_начала_контракта, дата_окончания_контракта

    Созданные таблицы выглядят следующим образом:



    Обратите внимание, что при создании первичного ключа автоматически создается индекс по этому первичному ключу. Индекс представляет собой вспомогательную структуру, которая служит, прежде всего, для ускорения поиска и быстрого доступа к данным.

    Теперь свяжем эти таблицы. Сначала создадим связь «Работает» между Сотрудником (дочерняя таблица) и Отделом (родительская таблица), степень связи М:1. Для создания связей М:1 служит пиктограмма на панели инструментов (с пунктирной линией). С ее помощью создается так называемая «не идентифицирующая связь», т.е. обыкновенный внешний ключ, при этом первичный ключ родительской таблицы добавляется в список столбцов дочерней таблицы.

    Итак, щелкнем на пиктограмме, затем щелкнем на дочерней таблице Сотрудники, затем на родительской таблице Отделы



    Обратите внимание, что при этом произошло. Между таблицами образовалась пунктирная линия; в сторону «к одному» она отмечена двумя черточками, в сторону «ко многим» - «куриной лапкой». Кроме того, в таблице Сотрудники образовался дополнительный столбец, которому автоматически присвоено имя k_dept_dept_num (т.е., имя родительской таблицы плюс имя первичного ключа родительской таблицы). А в группе Индексы создан индекс по внешнему ключу.
    Теперь добавим связь между этими же таблицами «Руководит» 1:1. Выберем пиктограмму , затем щелкнем по Отделам, затем по Сотрудникам.




    Чтобы 2 связи на картинке не «завязывались узлом», мы их разместили друг под другом.
    Обратите внимание, что в таблицу Отделы был автоматически добавлен столбец k_staff_staff_num, а также индекс по внешнему ключу.

    Создадим таблицу Предприятия:


    Создадим таблицу Договоры. У столбца Тип_договора зададим следующий формат: это буква из списка ‘A’, ‘B’, ‘C’.

    Свяжем Договоры с Сотрудниками и Предприятиями связями М:1.


    Затем создадим Счета и Платежи:

    П оскольку сущность Платеж была «слабой», у нее нет полноценного первичного ключа, и каждый платеж однозначно идентифицируется группой атрибутов (номер_счета, номер платежа). Отметим в качестве ключевого поля payment_num, а затем создадим идентифицирующую связь между Счетом и Платежом. Идентифицирующая связь создается с помощью пиктограммы (со сплошной линией). При этом новый столбец k_bill_bill_num становится не только внешним ключом в таблице Платеж, но и частью первичного ключа.

    Далее создадим таблицу Прайс-лист со столбцами (номер_товара, название_товара, цена_товара и тип_товара).


    Между объектами Счет и Прайс-лист имеется связь «многие - ко многим». Для создания этой связи нужно использовать пиктограмму . Следует щелкнуть мышью по этой пиктограмме, а затем последовательно щелкнуть по связываемым таблицам. Между ними появится новая таблица, обратите внимание на ее столбцы, первичный ключ и внешние ключи:

    Для удобства переименуем эту таблицу в k_protokol (ПротоколСчета), добавим столбцы kolvo и price_sum.


    Теперь EER-диаграмма имеет такой вид:


    Задание. Создайте в MySQL WORKBENCH ER-диаграмму для своей задачи.

    Номер варианта соответствует номеру задачи.

    1. Институт. Таблицы: студенты, преподаватели, предметы, группы, кафедры, книги по предметам. Представление: по студенту найти книги, по предметам, которые он проходит. Роли: Студент — может просматривать, но не может вносить изменения; Преподаватель — может просматривать и вносить изменения в базу данных.

    2. Магазин. Таблицы: покупатели, продавцы, товары, покупки (связывает покупателей с товарами и продавцами, продавшими товар), товарные группы, отделы. Представление: по отделам найти покупателей. Роли: Покупатель — видит товары и свои покупки; Продавец: обладает всеми правами.

    3. Банк. Таблицы: клиенты, договора(между клиентом и операционистом, на конкретный тип вклада), типы вкладов, отделения банка, операционисты. Представление: найти клиентов, с которыми заключил договора выбранный операционист.. Роли: Клиент, Операционист.

    4. Библиотека. Таблицы: читательские билеты, книги, заказы книг (сопоставление книг и читательских билетов), авторы, жанры. Представление: определить любимые жанры выбранного читателя. Роли: Библиотекарь, Читатель.

    5. Сотовый оператор. Таблицы: клиенты, записи разговоров (записи о клиенте, времени разговора, тариф), счета клиентов, тарифы, области (где обслуживает оператор). Представление: вывести разговоры, сделанные в выбранной области. Роли: Клиент, Оператор.

    6. Агентство недвижимости. Таблицы: недвижимость, клиент, агенты, договор аренды, отделы агентов, цены аренды. Представление: сколько аренды платит выбранный клиент. Роли: Клиент, Агент.

    7. Школа. Таблицы: ученики, учителя, оценки, классы, предметы. Представление: по оценкам найти учеников. Роли: Ученики, Учителя.

    8. Автосервис. Таблицы: клиенты, машины, мастера. Роли: Клиент, Мастер.

    9. Железнодорожная касса. Таблицы: маршруты, поезда, билеты, клиенты, заказы. Представление: вывести заказы билетов по известному поезду. Роли: Кассир, Администратор — имеет полные права.

    10. Служба поддержки. Таблицы: объекты, сотрудники, заявки на выполнение работ, неполадки, расходные материалы. Представление: вывести расходные материалы, использованные на выбранном объекте. Роли: Администратор, Техник.

    Требования к оформлению отчета

    1. Титульный лист

    2. Название работы

    3. Тему, цель и задание к работе

    4. Снимки экрана (скриншоты) процесса разработки

    5. Снимок экрана завершенной базы данных

    6. Итоговый скрипт БД.

    7. Выводы (что узнали, где можно применить полученные знания)
      1   2   3   4   5   6   7   8   9   ...   12


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