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

Операторы для работы с записями

  1. Редактирование записей. Update имяТаблицы Set ИмяПоля=НовоеЗначение, имяПоля2=НовоеЗначение … [where условие];

Увеличить стоимость заказа на 10%, стоимость доставки на 3% для США

Update Заказы Set [стоимость заказа]=[Стоимость заказа]*1.1

[Стоимость доставки]=[Стоимость доставки]*1.03

Where строка LIKE ‘США’;

Добавление одной записи

Insert Into ИмяТаблицы [(Список полей)]

Values(список значений);

  1. Если список полей отсутствует, то необходимо указывать для всех полей таблицы. Порядок созданных полей должен соответствовать структуре таблицы. Если не все поля объедены то в недостающие столбцы добавляются либо значения по умолчанию либо NULL.

Insert Into Сотрудники (Фамилия, имя, должность,[дата приема]) Values (‘Иванов’,’Иван’,’бухгалтер’,’24.02.2012’);

    1. добавление нескольких записей. Можно добавлять только из существующей таблицы с помощью оператора Select.

Insert Into имяТаблицы [(список полей)] Select … ;

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

Insert Into Сотрудники Select * From Ученики Where [Дата приема]<Date()-30;

2.3 Удаление записей

Delete [Таблица.*] From имяТаблицы Where условие отбора;

Пример Delete From Ученики Where [Дата приема]<Date90-30;

Нельзя восстановить записи удаленные при помощи этого оператора.

Операторы для работы с таблицами

CREATE TABLE имяТаблицы (имяПоля1 тип [(размер)] [NOT NULL], … имяПоляN тип [(размер)][NOT NULL]);

Типы данных

BIT 1 байт

MONEY 8 байт

DateTime 8байт

REAL 4 байта (короткое вещественное)

FLOAT 8 байт( длинное вещественное)

SMALLINT 2 байта(короткое целое)

INTEGER 4 байта(длинное целое)

TEXT 2 байта на символ (строковый до 255 символов)

MEMO 2 байта на символ Строка неопределенной длины до 2 ГБ.

IMAGE до 2 ГБ.

Counter 4 байта.

После типа могут стоять слова PRIMARY KEY(первичный ключ), UNTIQUE(значения в этом поле должны быть уникальны), NOT NULL, REFERENCES имяТаблицы [(полеСвязи)];

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

CREATE TABLE Подразделения ([код подразделения] Counter Primary Key, наименование Text(30), признак BIT);

CRAET TABLE Сотрудники ([Табличный номер] Counter Primary Key Фамилия Text(25), имя Text(25),[Дата приема] DataTime должность Text(50),[Код подразделения] References Подразделения);

Если Первичным ключом являются несколько полей то используется CONSTRAINT.

CONSTRAINT имя { Primary Key(Список полей)| UNTIQUE(Список полей) |), NOT NULL (Список полей) |FOREIGN KEY(Список полей связи) REFERENCES (Список полей связи) }

должность Text(50),[Код подразделения], CONSTRAINT podr FOREIGN KEY ([Код подразделения]) REFERENCES подразделения);

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

ALTER TABLE имяТаблицы

ADD Column имяПоля Тип[(размер)]

ALTER TABLE имяТаблицы

DROP Column имяПоля;

Нельзя добавить и удалить несколько полей одновременно

В таблицу сотрудники столбец дата рождения

ALTER TABLE Сотрудники ADD Column [дата рождения] DATETIME;

Создание индекса

CRATE [UNIQUE] INDEX имя ON Таблица(поле1[ASC|DESC],…)

[WITH{PRIMARY|DISALLOW NULL| IGNORE NULL}];

PRIMARY назначить поля ключом.

DISALLOW NULL запрещает значение NULL в индексированных полях.

IGNORE NULL не включает в индекс значение NULL в индексированных полях.

В таблице сотрудники создать строки Фамилия, Имя.

CREATE INDEX fiojoin

ON Сотрудники (Фамилия, Имя);

Удаление существующей таблицы или индекса

DROP Table Таблица;

DROP INDEX имя ON Таблица

Перед удалением таблица должна быть закрыта.

DROP Table Ученики;

Проектирование баз данных

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

  1. быстрый доступ к данным.

  2. отсутствие дублирования данных.

  3. Целостность данных

Проектирование может выполнятся в ручную или при помощи CASE средств. Под избыточностью понимают дублирование данных. Различают простое(не избыточное) дублирование и избыточное. Избыточность данных приводит аномалиям. Аномалией называется ситуация которая приводит к противоречию в базе данных или усложняет обработку данных. Существует 3 вида аномалий:

  1. Удаление

  2. Обновление

  3. Ввода

Аномалия удаления состоят в том что при удалении каких либо данных может быть потеряна какая либо информация.

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

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

Простое дублирование

Является допустимым

С отрудники телефон

Иванов 123

Сидоров 456

Петров 456

Избыточное дублирование

С отрудники телефон номер комнаты

Иванов 123 1

Сидоров 456 2

Петров 456 2

Метод нормальных форм

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

Пример. Проектирование базы данных преподавателей.

В базе должна хранится следующая информация табельный номер(ТН), фамилия(Ф), имя(И), отчество(И), должность, оклад(з),стаж (С), надбавка за стаж(Н), цикловая коммисия(Ц), предмет(П), номер группы(Гр), вид занятия(Вз), часы(ч).

ТН

Ф

И

О

Д

З

С

Н

Ц

П

Гр

Вз

Ч

1

Иванов

Иван

Иванович

Препод

5000

10

1000

ИТ

БД

И-307

лекции

100

1

Иванов

Иван

Иванович

Препод

5000

10

1000

ИТ

БД

И-307

практика

72

2

Петров

Петр

Петрович

Старший препод

6000

15

1500

ЕД

филос

И-307

лекции

80