Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания практика 3 часть консоль БД MySQLпо ПР ТРЗБД_.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.64 Mб
Скачать

Методические указания по выполнению практических работ по МДК 02.02. Технология разработки и защиты баз данных

По специальности 230115 «Программирование в компьютерных системах»

Методические рекомендации по выполнению практических работ по МДК 02.02. Технология разработки и защиты баз данных разработаны на основе Федерального Государственного образовательного стандарта по специальностям среднего профессионального образования и рабочей программы МДК 02.02. Технология разработки и защиты баз данных по специальности 230111 «Компьютерные сети».

Разработчики: Мартынова М.И.

ВВЕДЕНИЕ

Методические указания содержат общие сведения необходимые для выполнения лабораторных работ по МДК 02.02 Технология разработки и защиты баз данных. В методических указаниях приводятся содержание всех практических работ с заданиями, которые необходимо выполнить, критерии выполнения оценки практических работ и варианты предметных областей.

  1. Общие указания к выполнению практических работ

Перед выполнением практических работы требуется получить вариант задания и ознакомиться с ним.

Выполнение практической работы следует начать с изучения теоретических сведений, которые приводятся в соответствующих методических указаниях.

Результаты работы необходимо оформить в виде отчета.

Практическая работа считается выполненной, если

  • предоставлен отчет о результатах выполнения задания;

  • проведена защита проделанной работы.

Защита проводится в два этапа:

  1. демонстрируются результаты выполнения задания;

  2. ответить на ряд вопросов из перечня контрольных вопросов, который приводится в задании на лабораторную работу.

Вариант задания выдается преподавателем, проводящим лабораторные занятия.

    1. Критерии оценки:

  • Оценка «отлично» выставляется студенту, за полное и правильное выполнение всех заданий без помощи преподавателя.

  • Оценка «хорошо» выставляется студенту за полное выполнение всех заданий с незначительными ошибками без помощи преподавателя.

  • Оценка «удовлетворительно» выставляется студенту за полное выполнение всех заданий с незначительными ошибками с помощью преподавателя.

  • Оценка «неудовлетворительно» выставляется студенту за выполнение заданий с большим количеством ошибок или за невыполнение заданий.

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

Тема: «Разработка серверной части базы данных в СУБД. Создание таблиц».

Цель работы: Научиться создавать таблицы базы данных в СУБД MySQL.

Время выполнения: подготовка: 3 мин; выполнение: 77 мин; проверка: 10 мин; всего: 90 мин.

Указания по выполнению практической работы Возможности монитора MySql

Создание базы данных средствами SQL выполняется с помощью команды

CREATE DATABASE <ИмяБазыДанных>.

Существующие в системе базы данных:

show databases;

Большинство команд, которые набираются на мониторе, должно заканчиваться точкой с запятой, иначе MySQL не выполнит их. Это позволяет разделить сложные команды на несколько строк для улучшения их восприятия.

Команда

use имя_базы_данных;

сообщает MySQL о том, с какой конкретной базой данных вы хотите работать.

Выбрав базу данных, можно увидеть, какие таблицы она содержит, если набрать:

show tables;

Получить информацию о структуре конкретной таблице можно с помощью команды

describe имя_таблицы;

Выйти из программы монитор можно c помощью команды \q.

Задание 1

1. Изучить структуру и возможности MySQL

2. Загрузить MySQL

3. Просмотреть какие базы данных существуют

4. Выбрать одну из существующих баз данных

5. Просмотреть какие таблицы содержит выбранная база данных

6. Получить информацию о каждой таблице из выбранной базы данных

Описание учебного примера

Все практические работы рассматриваются на примере базы данных «Успеваемость студентов», которая включает в себя следующие таблицы:

  • Студент (Student)

  • Преподаватель (Teacher)

  • Успеваемость (Progress)

  • Учебный план (UPlan)

  • Предмет (Subject)

  • Отчетность (Report)

  • Вид занятий (Work)

  • Группа (SGroup)

Таблица Студент (Student)

Таблица содержит данные о студенте. Каждый студент имеет уникальный номер зачетки, который является первичным ключом отношения. Схема отношения имеет вид: R(Student)={NRecordBook, StName, IDGroup, SPasport, NPasport, DataPasport, NameDeptPasport, INN}, что аналогично R(Студент)={N зачетки, Имя студента, Код группы, Серия паспорта, Номер паспорта, Наименование организации, ИНН}. Внешним ключом является IDGroup (Код группы). Комбинация атрибутов SPasport, NPasport, DataPasport, NameDeptPasport должна быть уникальна, также должен быть уникальным атрибут INN, который в свою очередь является потенциальным ключом.

Таблица Преподаватель (Teachers)

Таблица содержит данные о преподавателе. Каждый преподаватель имеет уникальный идентификационный номер, который является первичным ключом отношения. Схема отношения имеет вид: R(Teacher)={PIN, TeachName, DeptNname, TeachPost, DateHire}, что аналогично R(Преподаватель) = {Идентификационный номер преподавателя, Имя преподавателя, Название кафедры, Должность, Дата приема на работу}. Таблица не содержит внешних ключей.

Таблица Успеваемость (Progress).

В таблице хранятся оценки, полученные студентом за весь период его обучения в институте, как при сдаче курсовых работ, экзаменов и т.п., так и при сдаче зачетов. Известно, что зачеты могут быть дифференцированными или не дифференцируемыми. В первом случае результат сдачи оценивается по той же системе, что и экзамен, во втором - в ведомости фиксируется только факт сдачи зачета («зачет» или «незачет»). Договоримся в поле Mark (Оценка) заносить значение 1, если «зачет» и 0 – если «незачет». Первичным ключом в отношении являются атрибуты: № зачетки, Код предмета, Код вида отчетности, № cеместра. Схема отношения имеет вид: R(Progress)={NRecordBook, PIN, IDSubject, IDReport, NTerm, Mark}, что соответствует схеме R(Успеваемость)={№ зачетки, Идентификационный номер преподавателя, Код предмета, Код вида отчетности, № семестра, Оценка}. Внешние ключи приведены ниже (см. ).

Таблица 1. Внешние ключи отношения Успеваемость (Progress)

Внешний ключ

Ссылочное отношение

№ зачетки (NRecordBook)

Студент (Student)

Идентификационный номер преподавателя (PIN)

Преподаватель (Teacher)

Код предмета(IDSubject)

Предмет (Subject)

Код вида отчетности (IDReport)

Отчетность (Report)

Таблица Учебный план (UPlan)

В таблице содержится информация о предметах, которые изучают студенты той или иной группы, о количестве часов, отводящихся для того или иного вида занятий (лекций, практических, лабораторных и т.п.). Ключ отношения выделен на схеме. R(UPlan)={IDSubject, IDWork, IDGroup, NTerm, Clock, PIN) или  R(План)={Код предмета, Код вида занятия, Код группы, Семестр, Кол-во часов, Идентификационный номер преподавателя}. Внешние ключи отношения План (UPlan) приведены ниже (см. Таблица 2).

Таблица 2. Внешние ключи отношения План (UPlan)

Внешний ключ

Ссылочное отношение

Код вида занятия (IDWork)

Вид занятий (Work)

Идентификационный номер преподавателя (PIN)

Преподаватель (Teacher)

Код предмета (IDSubject)

Предмет (Subject)

Код группы (IDGroup)

Группа (SGroup)

Таблица Предмет (Subject)

Таблица представляет собой справочник предметов, изучаемых студентом. Первичным ключом отношения является Код предмета (IDSubject). Схема отношения имеет вид: R(Subject)={IDSubject, NameSubject}, аналог этой схемы R(Предмет)={Код предмета, Название предмета}. Атрибут NameSubject (Название предмета) должен быть уникальным. Таблица не содержит внешних ключей.

Таблица Отчетность (Report)

Таблица представляет собой справочник видов отчетности. Домен атрибута Название вида отчетности будет включать в себя экзамен, зачет, курсовой проект и т.п. R(Report)={IDReport, NameReport}, или R(Отчетность)={Код вида отчетности, Название вида отчетности}. Атрибут NameReport (Название вида отчетности) должен быть уникальным. Таблица не содержит внешних ключей.

Таблица Вид занятий (Work)

Таблица представляет собой справочник видов занятий. Домен атрибута Название вида занятия будет включать в себя следующие значения: лекция, практическое занятие, лабораторное занятие и т.п. R(Work)={IDWork, NameWork}, или R(Виды занятий)={Код вида занятия, Название вида занятия}. Атрибут NameWork (Название вида занятия) должен быть уникальным. Таблица не содержит внешних ключей.

Таблица Группа (SGroup)

Таблица представляет информацию о группах обучающихся в ВУЗе. Первичным ключом отношения является IDGroup (Код группы). Домен атрибута Название группы будет включать в себя все названия групп ВУЗа. R(SGroup)={IDGroup, NameGroup}, или R(Группа)={Код группы, Название группы}. Атрибут NameGroup (Название группы) должен быть уникальным. Таблица не содержит внешних ключей.

Перед созданием таблицы следует предварительно определить типы полей и их размер. С этой целью анализируются возможные значения тех или иных атрибутов, а также методы обработки, которым они будут подвергаться. Основные типы данных, имеющие место в СУБД SQL Server 2000 даны в приложении (см. Error: Reference source not found).

Структура таблиц учебного примера приведена ниже (см. Таблица 3- Таблица 9), где первичные ключи выделены цветом и подчеркнуты.

Таблица 3. Таблица Студент (Student)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

зачетной книжки

NRecordBook

Varchar

6

Primary key

Имя студента

StName

Varchar

35

Код группы

IDGroup

INT

Foreign key

Серия паспорта

SPasport

Varchar

4

Not null

Unique

Номер паспорта

NPasport

Varchar

6

Дата выдачи

DataPasport

DateTime

Наименование организации

NameDeptPasport

Varchar

35

ИНН

INN

Varchar

10

Unique

Таблица 4. Таблица Преподаватель (Teachers)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Идентификационный номер преподавателя

IDP

INT

Primary key

Имя преподавателя

TeachName

Varchar

35

Название кафедры

DeptName

Varchar

35

Должность

TeachPost

Varchar

35

Дата приема на работу

DateHire

DateTime

Таблица 5. Таблица Успеваемость (Progress)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Идентификатор успеваемости

IDu

INT

Primary key

Код вида отчетности

IDReport

INT

Not null, Foreign key

Код предмета

IDSubject

INT

Not null, Foreign key

зачетки

NRecordBook

Varchar

6

Not null, Foreign key

семестра

NTerm

Numeric

2

Not null

Идентификационный номер преподавателя

IDP

Numeric

4

Foreign key

Оценка

Mark

SmallInt

Таблица 6. Таблица Учебный план (UPlan)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Код предмета

IDSubject

INT

Not null, Foreign key

семестра

NTerm

Varchar

2

Not null

Код вида занятия

IDWork

INT

Not null, Foreign key

Код группы

IDGroup

INT

Not null, Foreign key

Идентификационный номер преподавателя

PIN

INT

Not null, Foreign key

Количество часов

Clock

Numeric

3

Таблица 7. Таблица Предмет (Subject)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Код предмета

IDSubject

INT

Primary key

Название предмета

NameSubject

Varchar

35

Unique

Таблица 8. Таблица Отчетность (Report)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Код отчетности

IDReport

INT

Primary key

Название вида отчетности

NameReport

Varchar

35

Unique

Таблица 9. Таблица Вид занятий (Work)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Код вида занятий

IDWork

INT

Primary key

Название вида занятия

NameWork

Varchar

35

Unique

Таблица 10. Таблица Группа (SGroup)

Название атрибута

Имя поля

Тип поля

Размер

Ограничения

Код группы

IDGroup

INT

Primary key

Название группы

NGroup

Varchar

15

Unique

Описание правил написания синтаксиса языка SQL

Прописные буквы используются для записи зарезервированных слов.

Строчные буквы используются для записи слов, определенных пользователем.

Вертикальная строка (|) указывает на необходимость выбора одного из нескольких приведенных значений.

Фигурные скобки определяют обязательный элемент – например, {SELECT}.

Угловые скобки (< >) означают, что вместо параметра обозначенного в них, должно проставляться его конкретное значение, при этом угловые скобки аннулируются.

Квадратные скобки определяют необязательный элемент [DISTINCT].

Многоточие […] используется для указания необязательной возможности повторения конструкции. Наименьшее допустимое количество итераций равно нулю. Например, CREATE TABLE <имя таблицы>

(<имя столбца> <тип данных> (<размер>) [<ограничение для столбца>]

[, <имя столбца> <тип данных> (<размер>) [<ограничение для столбца>]… ])

[,<ограничение для таблицы>];

Для создания таблиц используется оператор CREATE TABLE. Сокращенный синтаксис оператора:

CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]

create_definition:

col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY]

type:

TINYINT[(length)

или SMALLINT[(length)]

или MEDIUMINT[(length)]

или INT[(length)]

или INTEGER[(length)]

или BIGINT[(length)]

или REAL[(length,decimals)]

или DOUBLE[(length,decimals)]

или FLOAT[(length,decimals)]

или DECIMAL(length,decimals)

или NUMERIC(length,decimals)

или CHAR(length) [BINARY]

или VARCHAR(length) [BINARY]

или DATE

или TIME

или TIMESTAMP

или DATETIME

или TINYBLOB

или BLOB

или MEDIUMBLOB

или LONGBLOB

или TINYTEXT

или TEXT

или MEDIUMTEXT

или LONGTEXT

или ENUM(value1,value2,value3,...)

или SET(value1,value2,value3,...)

Описание:

IF NOT EXISTS – попытка создания таблицы делается только в том случае, если она отсутствует в БД.

tbl_name – желаемое имя таблицы.

(create_definition,...) – описание полей создаваемой таблицы.

col_name – желаемое имя создаваемого поля.

type – тип поля (TINYINT, SMALLINT и т.д.). После типа поля в некоторых случаях в круглых скобках следует длина поля.

NOT NULL (NULL ) – может ли принимать значение NULL.

DEFAULT default_value – значение по умолчанию.

AUTO_INCREMENT – автонумерация значений поля при вводе данных в таблицу.

PRIMARY KEY – первичный индекс.

С помощью команды CREATE создается база данных и все ее объекты.

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

  • NULL/NOT NULL – разрешает или не разрешает неопределенность значений атрибутов;

  • UNIQUE – разрешает только уникальные значения атрибутов;

  • PRIMARY KEY – определяет первичный ключ отношения (в каждом отношении может иметь место только один первичный ключ);

  • FOREIGN KEY – определяет внешний ключ отношения (в одном отношении может быть несколько внешних ключей);

  • CHECK – задает ограничения на значения атрибутов.