LAB19 (Задания по бд)

2015-08-16СтудИзба

Описание файла

Файл "LAB19" внутри архива находится в папке "documentation к лаб.раб. и курсу БД". Документ из архива "Задания по бд", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "вмсс" в общих файлах.

Онлайн просмотр документа "LAB19"

Текст из документа "LAB19"

ЛАБОРАТОРНАЯ РАБОТА № 1

Цель:

  1. Приобрести практический навык в создании таблиц БД и загрузки их данными.

  1. Освоить создание индексов.

Справочный материал:

  1. Конспект курса.

Используемые технические средства:

1. SQL-сервер, работающий на компьютере Pentium 120/32/2,1 под управлением операционной системы Windows NT.

2. Open-Client, работающий на компьютере PC 486/DX4/100/8/1,08/SVGA1MPCI под управлением операционной системы Windows95.

Упражнения:

Сценарий входа в систему:

I Вход в сеть: после загрузки системы WINDOWS95 перед пользователем высветится следующее окно с названием :

<рисунок>

В этом окне необходимо ввести пароль работы с сетью: <пароль> [Enter] (пароль необходимо получить у преподавателя). В результате этого на экране появится набор пиктограмм различных WINDOWS-приложений.

II Вход в систему SYBASE for WINDOWS95 и диалоговой SQL: нажать кнопку “Пуск” и в появившемся меню выбрать пункт “Программы”; при этом появится следующее меню, в котором необходимо найти пункт с названием “SYBASE for WINDOWS95” и выбрать его; в результате этого появляется третье меню, содержащее названия всех программ системы SYBASE для клиента (пользователя) :

<рисунок>

В этом меню необходимо найти пункт с названием программы диалогового SQL (WISQL32) и выполнить на нем один щелчок мыши. В результате этого перед пользователем появится следующее окно с названием :

<рисунок>

III Установка связи пользователя с базой данных:

В этом окне пользователю необходимо выполнить команду CONNECT. Для этого нужно выполнить один щелчок мыши на пункте меню CONNECT и один щелчок мыши на первой команде этого пункта (Open Connection). В результате этого перед пользователем высветится следующее окно с названием :

<рисунок>

В этом окне пользователю нужно ввести:

  1. Имя пользователя (например: STUD1 [Tab]);

  1. Пароль (например: student1 [Tab]);

  1. Имя базы данных (например: MPEI1 [Tab]);

  1. Имя сервера (LESSON-14-217 - выбрать из списка имен серверов и щелкнуть левой кнопкой мыши).

Для перехода к вводу следующего имени или пароля используется клавиша Tab. Имя базы данных можно не задавать (оно берется по умолчанию). После ввода имени сервера (его можно выбрать щелчком мыши из списка имен серверов) необходимо выполнить щелчок мыши на кнопке CONNECT.

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

<рисунок>

Верхняя область предназначена для ввода SQL-команд, а нижняя - для вывода отчетов - результатов выполнения этих команд. В частности, в верхней области для выполнения запросов к БД вводятся SELECT-предложения, а в нижней - выдаются отчеты по этим запросам. По окончании ввода команды в верхней области нажимается комбинация клавиш [Ctrl]+[Enter]. Если команда не помещается в одну строчку, то для переноса нажимается [Enter].

Если SQL-команда вводится неверно, то в нижней области окна появляется сообщение SQL-сервера об ошибке (выдается только код ошибки). Если пользователю необходимо узнать суть указанной ошибки, то нужно включить режим расшифровки сообщений SQL-сервера. Это делается с помощью пункта меню File командой Options...

На этом сценарий входа в систему заканчивается, и пользователь может начинать свою работу.

1) Создание таблицы с именем poss.

В приложении VI приведена структура информационного объекта "Учащиеся России", состоящая из 12 полей. На основе характеристик каждого из приведенных полей в верхней области окна необходимо ввести следующую команду create table:

create table poss

(nomer integer,

fio char (40) not null,

data_rogden char (6),

pol char (1),

sem_polog_k char (1),

spec char (6),

kat_obuch_k char (2),

vuz_k integer,

mp char (2),

gp char (2),

mo char (2),

gok char (2)) [Ctrl]+[Enter]

Если пользователь допустит синтаксическую ошибку пр наборе этой команды, то в нижней области окна появится сообщение о синтаксической ошибке, а команда create table не выполнится. Пользователю в этом случае необходимо найти и исправить ошибки, а затем вновь запустить эту команду.

Если команда create table выполнится успешно, то в нижней области окна не появится никаких сообщений. Чтобы убедиться в том, что таблица создана в БД, необходимо в верхней области окна ввести команду sp_help [Ctrl]+[Enter]. При этом в нижней области окна появится список всех таблиц БД.

Аналогично создаются вспомогательная таблица "вузы-города-страны СНГ" и четыре таблицы словаря БД, структуры которых также приведены в приложении VI.

Для создания этих таблиц в верхней области окна необходимо последовательно вводить следующие команды create table:

2) Создание таблицы с именем vuz_gorod:

create table vuz_gorod

(cod_vuza integer,

nazvanie_vuza char (25),

cod_goroda char (3),

nazvanie_goroda char (20),

cod_stran char (2),

nazvanie_stran char (15)) [Ctrl]+[Enter]

3) Создание таблицы с именем vuz:

create table vuz

(cod integer,

uch_zavedenie char (25)) [Ctrl]+[Enter]

4) Создание таблицы с именем family:

create table family

(cod char (1),

family_status char (12)) [Ctrl]+[Enter]

5) Создание таблицы с именем kat_obuch:

create table kat_obuch

(cod char (2),

kat_obucheniya char (16)) [Ctrl]+[Enter]

6) Создание таблицы с именем gorod:

create table gorod

(cod char (3),

nazvanie_goroda char (20)) [Ctrl]+[Enter]

Если все эти команды будут выполнены без ошибок, то с помощью команды sp_help можно вывести список названий всех созданных таблиц.

<окно>

Далее, все шесть таблиц заполняются соответствующими их структуре данными. Для загрузки записей в каждую таблицу используется оператор добавления записи в таблицу БД - insert (первая форма).

7) Загрузка таблицы poss.

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

Чтобы значительно ускорить процесс загрузки, необходимо на дискете подготовить файлы, каждый из которых содержит набор пакетов. Каждый пакет содержит одну команду insert и признак конца пакета - go (см. конспект курса). Количество пакетов в файле ограничено (порядка 200-250), так как ограничен по памяти буфер ввода команд (операторов, пакетов) диалогового SQL.

Таким образом, для загрузки таблицы poss в БД пользователю необходимо:

а) вставить дискету с подготовленными файлами в дисковод;

б) с помощью меню FILE системы WINDOWS95 последовательно открыть файлы (команда меню Open) на дискете и, тем самым, переписывать их в верхнюю область окна;

в) запустить на выполнение полученный в верхней области окна набор пакетов, нажав одновременно клавиши [Ctrl]+[Enter].

Остальные таблицы БД загружаются аналогично. Чтобы убедиться, что таблицы загружены данными, необходимо в верхней области окна ввести команду: SELECT * FROM <имя таблицы> [Ctrl]+[Enter] для каждой таблицы, например: SELECT * FROM kat_obuch [Ctrl]+[Enter].

В нижней области окна будет распечатана таблица kat_obuch.

8) Создание индексов для таблицы poss.

Для ускорения поиска в таблице poss необходимо создать индексы по ключевым полям (т.е. по тем полям, по которым чаще всего требуется поиск данных). Это следующие поля:

а) номер;

б) пол;

в) код семейного положения;

г) специальность;

д) код категории обучения;

е) код учебного заведения;

ж) год приема;

з) год окончания.

Индексы создаются с помощью команды create index, причем для поля "номер" создается уникальный индекс, а для остальных полей - простые негрупповые индексы.

Таким образом, в верхней области окна необходимо ввести последовательно 8 команд:

а) create unique index nomind on poss (nomer) [Ctrl]+[Enter]

б) create index polind on poss (pol) [Ctrl]+[Enter]

в) create index semind on poss (sem_polog_k) [Ctrl]+[Enter]

г) create index specind on poss (spec) [Ctrl]+[Enter]

д) create index katind on poss (kat_obuch_k) [Ctrl]+[Enter]

е) create index vuzind on poss (vuz_k) [Ctrl]+[Enter]

ж) create index gpind on poss (gp) [Ctrl]+[Enter]

з) create index goind on poss (gok) [Ctrl]+[Enter]

Информацию о созданных индексах можно посмотреть с помощью команды sp_helpindex.

9) Создание индексов для остальных таблиц БД.

Для вспомогательной таблицы "вузы-города-страны СНГ" индексы создаются для трех ключевых полей:

а) код учебного заведения:

б) код города;

в) код страны.

Для поля "Код учебного заведения" создается уникальный индекс. В верхней области окна необходимо последовательно ввести три команды:

а) create unique index codvgind on vuz_gorod (cod_vuza) [Ctrl]+[Enter]

б) create index codgoind on vuz_gorod (cod_goroda) [Ctrl]+[Enter]

в) create index codvsind on vuz_gorod (cod_stran) [Ctrl]+[Enter]

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

а) create unique index codsind on family (cod) [Ctrl]+[Enter]

б) create unique index codkind on kat_obuch (cod) [Ctrl]+[Enter]

в) create unique index codgind on gorod (cod) [Ctrl]+[Enter]

г) create unique index codvind on vuz (cod) [Ctrl]+[Enter]

В том случае, если пользователь обнаружит, что неправильно создал таблицы или индексы, то ему необходимо пересоздать неправильные таблицы или индексы. Для этого ему необходимо сначала уничтожить эти объекты, используя команду drop, а затем снова создать эти объекты, используя команду create.

Примеры команды drop (см. конспект курса):

1. drop table poss

2. drop index poss.nomind

В том случае, если пользователь неправильно загрузит данные в таблицу, то он может воспользоваться командой truncate table для быстрого удаления этих данных из таблицы, а затем вновь начать процесс загрузки, например:

truncate table poss

В качестве заданий к данной лабораторной работе пользователям предлагается создать таблицы БД, соответствующие другим странам СНГ (Украина, Белоруссия и др.) и имеющие такую же структуру, что и таблица poss. Далее, каждому пользователю необходимо загрузить свою таблицу данными с дискеты, а также создать индексы для своей таблицы.

ЛАБОРАТОРНАЯ РАБОТА № 2

Цель:

  1. Научиться использовать предложения оператора SELECT и некоторые функции для выполнения простых запросов к БД в режиме диалогового (интерактивного) SQL.

  1. Приобрести практические навыки в использовании операторов INSERT, UPDATE и DELETE.

Справочный материал:

  1. Конспект курса.

Используемые технические средства:

1. SQL-сервер, работающий на компьютере Pentium 120/32/2,1 под управлением операционной системы Windows NT.

2. Open-Client, работающий на компьютере PC 486/DX4/100/8/1,08/SVGA1MPCI под управлением операционной системы Windows95.

Упражнения:

Перед выполнением лабораторной работы необходимо войти в сеть, затем в систему SYBASE for WINDOWS95 и диалоговый SQL, а также установить связь пользователя с базой данных (аналогично описанному сценарию в лабораторной работе № 1).

1) Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты).

В верхней области окна необходимо ввести:

select distinct nazvanie_goroda from vuz_gorod where cod_stran='01'[Ctrl]+[Enter]

где '01' - это код России.

В результате выполнения этого запроса в нижней области окна появится отчет, представляющий собой список названий городов России (одно название города в одной строчке). Для просмотра отчета по запросу необходимо пользоваться мышкой и экранными кнопками нижней области окна в виде треугольников: , , , . Треугольники позволяют перемещать при помощи мыши отчет вверх, вниз, вправо, влево.

Замечание: Если в команде будет допущена ошибка, то вместо отчета будет выдано окно с сообщением об ошибке.

<окно>

2) Выполнение запроса по одной таблице БД с использованием функции BETWEEN, например:

выдать фамилии всех студентов и студентов-заочников России.

В верхней области окна необходимо ввести: select fio from poss where kat_obuch_k between '03' and '04' [Ctrl]+[Enter]

где '03' и '04' - это коды, соответствующие категориям обучения "студент" и "студент-заочник".

Отчет представлен в нижней части окна.

<окно>

3) Выполнение запроса по одной таблице БД с использованием функции IN, например:

выдать данные по учащимся России, закончившим учебу в 95, 97, 98 годах.

В верхней области окна необходимо ввести:

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
431
Средний доход
с одного платного файла
Обучение Подробнее