Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к срезу по БД и СУБД.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
187.44 Кб
Скачать

Нормализация таблицы до 1nf

Заказчик

ИД продукта

Продукт

Количество

Цена

Всего

1

111

Лампа

4

1

4

1

333

Нож

2

5

10

1

555

Зонт

3

50

150

  1. Перечислить нормальные формы.

Охарактеризовать вторую нормальную форму.

Построить отношение «Продажа»:

Исходная таблица продаж

Заказчик

ИД продукта

Продукт

Количество

Цена

Всего

1

111

Лампа

4

1

4

1

333

Нож

2

5

10

1

555

Зонт

3

50

150


Используя правило нормализации привести отношение ко второй нормальной форме

Ответ:

Выделяют три нормальных формы: первая нормальная форма (1NF), вторая нормальная форма (2NF), третья нормальная форма (3 NF).

Вторая нормальная форма (2NF) предполагает, чтобы каждый не ключевой столбец полностью зависел от первичного ключа.

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

Нормализация таблицы до 2nf

Заказчик

ИД продукта

Количество

Всего

1

111

4

4

1

333

2

10

1

555

3

150

ИД продукта

Продукт

Цена

111

Лампа

1

333

Нож

5

555

Зонт

50

  1. Дать определение таблицы базы данных.

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

Записать последовательность действий для построения таблиц Товары и Продажи и установления связей между ними в СУБД MS Access. Таблица Товары содержит сведения о товарах: код, наименование, единица измерения, цена за единицу. Таблица Продажи содержит сведения о продажах товаров: дата продажи, код товара, количество проданного товара.

ОТВЕТ:

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

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

Отмечаем все пункты, включая и ссылочную целостность. Нажимаем ок. появится связь 1 ко многим.

В субд аскссесс создаем таблицы товары (…) и продажи (…). Переходим на…

Добавляем таблицы продажи и товар.

Устанавливаем связь между ними по полю код товара от первичного ключа в таблице товары к внешнему ключу в таблице продажи. Отмечаем пункты..

И т.д.

  1. Дать определения запроса базы данных.

Описать порядок действий при создании простых запросов с использованием конструктора запросов в СУБД MS Access.

Записать последовательность действий для построения запроса на получение информации из таблицы Товары, цена которых не превышает определенной величины (запрос с параметром). Таблица Товары содержит сведения о товарах: код, наименование, единица измерения, цена за единицу.

ОТВЕТ:

Запрос – средство отбора (поиска) данных в базе из одной или нескольких таблиц по определенному пользователем условию.

Заходим во вкладку создание-> конструктор запросов. В открывшейся вкладке выбираем таблицы, для которых необходимо построить запрос. Перетаскиваем или выбираем необходимые поля, а также задаем условия, сортировку и др. сохранить запрос и запустить выполнение.

Войти в конструктор запроса, добавить таблицу товары. В бланк запроса перетянуть все поля из таблицы. В поле Цена в строке условие отбора записать следующее выражение: <=[введите цену:] и послать на выполнение

  1. Перечислить виды запросов.

Описать порядок действий при создании простых запросов с вычислением с использованием построителя выражений в СУБД MS Access.

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

ОТВЕТ:

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

Заходим в конструктор запросов, выбираем таблицу и необходимые поля в бланке запроса. На вкладке конструктор выбираем построитель.

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

Затем в поле ввести с помощью построителя следующее выражение:

Стоимость: [цена за 1]*[кол-во]

  1. Дать определение формы в базе данных.

Описать порядок действий при создании форм при помощи конструктора и использованием основных видов элементов управления в СУБД MS Access.

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

ОТВЕТ:

Форма — это объект базы данных, который можно использовать для создания интерфейса пользователя для приложения базы данных и для ввода и редактирования информации в таблице БД

Зайти в конструктор форм. На ленте выбрать пункт добавить поля. Выбрать таблицу из предоставленного списка полей, на форму конструктора перетянуть нужные поля. Добавили нужные компоненты. Оформили.

Выбрать мастер форм выбрать таблицу товары и выбрать вид формы в один столбец. Просмотреть созданную форму в режиме конструктор. В режиме конструктора добавить из панели компонентов рисунок.

  1. Дать определение отчета в базе данных.

Описать порядок действий при создании отчетов при помощи конструктора и использованием основных видов элементов управления в СУБД MS Access.

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

Отчет (report) — это объект базы данных, который используется для вывода на экран, в печать или файл структурированной информации. Reports позволяют извлечь из таблиц или запросов базы данных необходимую информацию и представить ее в виде удобном для восприятия.

Зайти в мастер отчета, выбрать вид отчета, открыть его в режиме конструктор.

В этом режиме в область данных отчета добавить компонент из ленты инструментов свободный элемент. В левую часть записать стоимость. В правую часть ввести выражение =[цена]* [количество]

  1. Дать определение языка SQL.

Объяснить синтаксис Select-запросов.

Разработать Select-запрос, позволяющий выбрать информацию о студентах, обучающихся на втором и последующих курсах. Запрос разрабатывается на основе таблицы Student, имеющей следующие поля: Student_Id, Surname, Name, Stipend, Kurs, City, Birthdey, Univ_Id.

ОТВЕТ:

SQL ( структурированный язык запросов ) – это универсальный язык для создания, модификации и управления данными в реляционных базах данных.

Оператор select языка sql предназначен для выборки информации из таблиц БД.

Упрощенный синтаксис: SELECT [DISTING] < список атрибутов > FROM <список таблиц>

В квадратных скобках указаны элементы которые могут отсутствовать в запросе. Ключевое слово SELECTсообщает БД что данное предложение является запросом на выборку информации. После слова SELECT через запятую перечисляются наименования полей. Обязательным ключевым словом в предложении запроса SELECT является слово FROM, за ним указывается список разделенных запятыми имен таблиц из которых извлекается информация. Любой SQL запрос должен заканчиваться символом «;»

Select *

FROM student

Where kurs>=2;

  1. Перечислить агрегирующие функции в языке SQL.

Объяснить работу оператора Group By языка SQL.

Разработать Select-запрос, позволяющий найти максимальное значение оценки, полученной каждым студентом. Запрос разрабатывается на основе Exam_Maxs, имеющей следующие поля: Exam_Id, Student_Id, Subj_Id, Mark, Exam_Date.

ОТВЕТ:

COUNT – определяет количество строк или значений полей выбранных по средствам запроса и не являющихся NULL значений.

SUM – вычисляет арифметическую сумму всех выбранных значений полей.

AVG – вычисляет среднее значение .

MAX – вычисляет наибольшее из всех выбранных значений.

MIN – вычисляет наименьшее из всех выбранных значений.

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

Пример: Select Student_ID , MAX (MARK)

FROM Exam_Maxs

Group BY Student_ID;

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

Объяснить синтаксис команды Insert.

Разработать команду для ввода записи о новом студенте, которого зовут Орлов Николай, обучающегося на первом курсе университета с идентификационном номером 10, живущего в Минске, дата рождения 12.01.1995, и получающего стипендию в размере 550 тыс.руб. Запись вводится в таблицу Student, имеющую следующие поля: Student_Id, Surname, Name, Stipend, Kurs, City, Birthdey, Univ_Id.

ОТВЕТ:

В SQL команды.

  1. Insert – вставить

  2. Update – обновить

  3. Delete – удалить

Оператор Insert осуществляет вставку в таблицу новой строки. В простейшем случае он имеет вид

Insert Into <имя таблицы> values(<значение 1 >,< значение 2 >…).

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

Пример:

Insert Into Student

Values (501, ‘Орлов’, ‘Николай’, 550000, 1, ’Минск’, ‘12/01/1995’, 10);

  1. Дать определение клиент-серверной архитектуры.

Описать порядок действий при создании файла базы данных на сервере Inter Base.

Записать команды для создания доменов таблицы Tovar, которая имеет следующие поля: Tovar_Id, Nazvanie, Ed_Izmer, Cena.

ОТВЕТ:

Архитектура клиент – серверных БД предполагает разделение всей логики работы СУБД на 2 части:

  1. Обслуживание данных

  2. Обслуживание клиента.

Первая часть реализуется сервером БД, вторая часть реализуется клиентским программным обеспечением.

Зайти на сервер InterBase, авторизоваться, создать папку где будет храниться БД, в меню сервера DataBase выбрать пункт Create DataBase, в появившемся окне указать название файла БД и его место расположения в одной из строк списка Files, поле Alies ввести произвольный псевдоним и потом нажать Ок.

Создание доменов создается командой

CREATE DOMAIN <имя домена> As <тип данных>

CREATE DOMAIN DnTovarID AS Int not null;

CREATE DOMAIN DnNazvanie AS Char(30);

CREATE DOMAIN DnEd_Izmer AS Char(10);

CREATE DOMAIN DnCena AS Int;

  1. Записать имя и пароль системного администратора сервера Inter Base.

Объяснить синтаксис команды Create Table.

Записать команду для создания таблицы Tovar с использованием доменов: dnTovar_Id, dnNazvanie, dnEd_Izmer, dnCena.

ОТВЕТ:

Login – SYSDBA

Password – masterkey

Таблицы БД создаются с помощью оператора CREATE TABLE эта команда создает пустую таблицу, то есть таблицу не имеющую строк. Значения в эту таблицу вводятся с помощью оператора INSERT.

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

CREATE TABLE <имя таблицы> (<имя столбца> [<размер>]…)

CREATE TABLE Tovar (TovarID dnTovar, Nazvanie dnNazvanie, Ed_Izmer DnEd_Izmer , Cena DnCena

Primary key ( Tovar_ID)

);

  1. Дать определение триггера.

Объяснить синтаксис команды Create Trigger.

Записать команды для вставки новых записей в таблицу Tovar серверной БД, имеющую следующие поля: Tovar_Id, Nazvanie, Ed_Izmer, Cena.

Вставляемые записи:

101 Молоко литр 9200

102 Кефир литр 8100

103 Колбаса кг 62000

ОТВЕТ:

Триггер – представляет собой специальный тип хранимой процедуры вызывающейся при наступлении некоторого события (обработчик события).

Триггер определяет программный отклик на изменение данных. Он создается таким оператором:

CREATE Trigger <имя триггера> For <имя таблицы>

{ before | after }

{delete | insert | update}

AS

[<объявление локальных переменных>]

BEGIN

<оператора>

END

INSERT INTO Tovar

Values (101, ‘молоко’, ‘литр’, ‘9200’);

Values (102, ‘кефир’, ‘литр’, ‘8100’);

Values (103, ‘колбаса’, ‘кг’, ‘62000’);

  1. Дать определение набора данных в Delphi.

Дать краткую характеристику основных свойств компонента Table.

Описать процесс подключения БД «Учебный процесс» к среде программирования Delphi и вывода на форму таблицы «Учащиеся» с использованием компонента Table.

  1. Указать отличие между визуальными и не визуальными компонентами среды программирования Delphi для работы с БД.

Дать краткую характеристику основных свойств компонента Query.

Описать процесс добавления в таблицу «Товары» БД «Магазин» вычисляемого поля. Первоначально таблица «Товары» содержит поля: Код_товара, Наименование, количество, Цена. Добавить поле Стоимость.