Операторы для работы с записями
Редактирование записей. Update имяТаблицы Set ИмяПоля=НовоеЗначение, имяПоля2=НовоеЗначение … [where условие];
Увеличить стоимость заказа на 10%, стоимость доставки на 3% для США
Update Заказы Set [стоимость заказа]=[Стоимость заказа]*1.1
[Стоимость доставки]=[Стоимость доставки]*1.03
Where строка LIKE ‘США’;
Добавление одной записи
Insert Into ИмяТаблицы [(Список полей)]
Values(список значений);
Если список полей отсутствует, то необходимо указывать для всех полей таблицы. Порядок созданных полей должен соответствовать структуре таблицы. Если не все поля объедены то в недостающие столбцы добавляются либо значения по умолчанию либо NULL.
Insert Into Сотрудники (Фамилия, имя, должность,[дата приема]) Values (‘Иванов’,’Иван’,’бухгалтер’,’24.02.2012’);
добавление нескольких записей. Можно добавлять только из существующей таблицы с помощью оператора 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 Ученики;
Проектирование баз данных
Проектирование заключается в разработке структуры данных. При этом определяется состав таблиц и связей между ними. Структура должна быть эффективной и обеспечивать:
быстрый доступ к данным.
отсутствие дублирования данных.
Целостность данных
Проектирование может выполнятся в ручную или при помощи CASE средств. Под избыточностью понимают дублирование данных. Различают простое(не избыточное) дублирование и избыточное. Избыточность данных приводит аномалиям. Аномалией называется ситуация которая приводит к противоречию в базе данных или усложняет обработку данных. Существует 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|