Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labor5.doc
Скачиваний:
3
Добавлен:
08.11.2018
Размер:
325.63 Кб
Скачать

1.3. Упражнения Задание. Разработка базы данных.

Задача – разработать базу данных для предметной области «Учебный процесс».

Описание предметной области. Пусть необходимо построить базу данных, располагая которой пользователь может получить справочную информацию об учебном процессе текущего семестра: списки студентов групп; пе­речень изучае­мых предметов, преподавательский состав кафедр, обеспечивающих учебный про­цесс; сведения о лекционных и практических занятиях; ре­зультаты сдачи экзаменов (зачетов) по каждому из проведенных занятий.

Ход работы.

  1. Запустите Denwer.

  2. Откройте браузер (Internet explorer, Opera, Mozilla или другой).

  3. Откройте PHPmyAdmin, введя в адресную строку: http://localhost/tools/phpmyadmin

  4. Создайте базу данных institute. Для этого введите название базы в поле, из раскрывающегося списка «Сравнение» выберите «cp1251_general_ci» и нажмите «Создать».

Рис. 7.

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

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

Столбец

Тип данных

Вид контроля

ng

text

Ввод из списка

kol

int

1 kol49

pball

real

3 pball 5

Ключевое поле – ng (номер группы). Для ввода номера группы создать список групп

Создайте таблицу students. В ней будут храниться данные о студентах: номер студента, номер группы, в которой он учится, Ф. И. О., год рождения, адрес, проходной балл. Таблица students должна состоять из следующих столбцов:

Столбец

Тип данных

Вид контроля

ns

int

ng

int

C табл. gruppa

fio

text

godr

int

1950 godr2950

adres

text

pball

text

3 pball 5

Ключевое поле – ns (номер студента).

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

Столбец

Тип данных

Вид контроля

kp

int

Ввод из списка

np

text

Ввод из списка

chasy

int

1 chasy 100

lek

int

pr

int

sem

int

1 sem 10

prog

text

tabn

int

Ввод из списка

Ключевое поле выберите самостоятельно.

Создайте таблицу prepodavatel. В ней будут храниться данные о преподавателях: табельный номер преподавателя, Ф. И. О., учёная степень, учёное звание. Таблица должна стоять из столбцов:

Столбец

Тип данных

Вид контроля

tabn

int

Ввод из списка

fio

text

Ввод из списка

st

text

Ввод из списка

zv

text (docent, professor, prepodavatel)

Ввод из списка

Выберите ключевое поле- tabn.

Создайте таблицу IZUCHENIE. В ней будут храниться сведения обо всех

занятиях в учебных группах, проводимых преподавателями кафедр и дисциплинах: код предмета, номер группы, название предмета, всего часов, часов на лекции, часов на практики, часов на семинары, краткое описание дисциплины, табельный номер преподавателя, ведущего предмет. Таблица должна состоять из столбцов: Исходные данные брать из следующих таблиц: predmet, gruppa, prepodavatel.

IZUCHENIE

Столбец

Тип данных

Вид контроля

kp

int

Связь с табл. predmet

np

text

ng

int

Связь с табл. gruppa

chasy

int

lek

int

pr

int

sem

int

prog

text

tabn

int

Связь с табл. prepodavatel

fio

text

Связь с табл. prepodavatel

Ключевое поле выберите соcтавное: kp-. код предмета, ng-номер группы, tabn- табельный номер преподавателя.

Создайте таблицу uspevaemost. В ней будут храниться сведения об успеваемости студентов по различным дисциплинам: № п/п, номер студента, номер группы, код предмета, по которому сдан экзамен (или зачёт, или работа, или проект), табельный номер экзаменатора, вид учёта успеваемости (зачёт, экзамен, КП или КР), оценка (если предыдущее поле – экзамен, КП или КР, то сюда будет записываться число от 2 до 5, а если зачёт, то 0 (не сдал) или 1 (сдал)). Таблица должна состоять из столбцов:

Столбец

Тип данных

Вид контроля

id

int

ns

int

ng

int

kp

int

tabn

int

vid

text

Ввод из списка

ocenka

int

1 ocenka 5

Выберите ключевое поле.

Заполните каждую таблицу, внеся по 5-8 записей (см. INSERT INTO). Например:

Выполните запрос на отображение всей таблицы gruppa (см. SELECT FROM).

Отобразите столбцы ng и pball у тех групп, в который обучается более 17 студентов.

Из таблицы students выберите сведения о студентах, родившихся в 1990 году.

Из таблицы uspevaemost выберите сведения о студентах, сдавших предмет под кодом № 1 на оценку «4» или выше и выведите результаты упорядоченными по убыванию значения в столбце id.

Из таблицы predmet выберите сведения о всех предметах, кроме предмета под кодом №1.

Из таблицы IZUCHENIE выберите сведения о всех предметах, которые ведутся для групп ИС, атак же о преподавателях.

Из таблицы prepodavatel выберите сведения о преподавателях, чьё звание (zv) – docent.

В таблице uspevaemost смените значение ocenka для студента № 1, сдавшего предмет под кодом №1. (См. UPDATE). (Скажем, если он сдал экзамен на 4, то смените на 5).

В таблицу students добавьте столбец stipendia, тип данных – int. (См. ALTER TABLE).

Уничтожьте столбец stipendia таблицы students. (См. DROP TABLE).

Требования к отчёту.

Отчёт должен содержать описание хода работы, тексты всех запросов, снимки экрана на основных этапах выполнения работы.

1.4. Контрольные вопросы

  1. Можно ли запросы- действия создать с помощью мастера?

  2. С создания какого типа запроса начинается конструирование запроса- действия?

  3. Как просмотреть записи, которые составят новую таблицу, создаваемую запросом?

  4. Определен ли ключ в структуре таблицы, созданной запросом?

  5. Какой командой осуществляется преобразование запроса на выборку в запрос на обновление?

  6. В какой строке запроса на обновление указывается новое значение об­новляемого поля?

  7. Можно ли для подсчета нового значения обновляемого поля использо­вать выражение?

  8. Какая инструкция языка SQL соответствует запросу на создание таблицы?

  9. Можно ли в новую таблицу, создаваемую запросом, включать поля не­скольких таблиц?

  10. Какая инструкция языка SQL соответствует запросу на обновление?

  11. Можно ли просмотреть содержимое обновляемых полей до и после об­новления, не выходя из режима конструктора запросов?

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

  13. Где указывается имя таблицы, в которую добавляются записи?

  14. В какой строке запроса на добавление указывается, в какие поля долж­ны попадать добавляемые записи?

  15. Какая инструкция языка SQL соответствует запросу на добавление?

  16. Вслед за каким словом в инструкции insert записывается имя таблицы, в которую добавляются записи?

  17. С помощью чего формируются добавляемые записи в инструкции INSERT?

1.5 Задание на выполнение лабораторной работы

1. Ознакомиться с теоретическим материалом.

2. Выполнить упражнения 1,2,3.

3. Описать ход выполнения работы.

4. Ответить на три контрольных вопроса согласно Вашего порядкового номера (к) в группе: 1-й вопрос= к, 2-й вопрос= к+3, 3-й вопрос= к+7. Если к>10, то применять: 1-й вопрос= к, 2-й вопрос= К-4, 3-й вопрос= К-10.

1.6 Используемая литература

Симанович С.В., Евсеев Г.А. и др. Информатика. Базовый курс. 2-е издание. - СПб.: Питер, 2005, – 640 с.

Комолова Н.В. HTML. Самоучитель. - СПб.: Питер, 2008, – 268 с.

Гаевский А. Ю., Романовский В. А. - 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и javascript. - СПб.: Питер, 2008, – 464 с.

Ларри Ульман MySQL ; Пер. с англ. Слинкина А.А. - М.:ДМК Пресс ; СПб.: Питер, 2004, – 352 с.

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]