- •1. Введение в предмет.
- •1.1 Данные и информация.
- •1.2 Предметная область.
- •1.3 Понятие и сущность.
- •1.4 Концептуальная модель объекта.
- •1.5 Связь или отношение.
- •1.6 Логическая модель базы данных.
- •1.7 Физическая модель базы данных.
- •1.8 Введение в работу с базами данных на платформе Microsoft sql Server.
- •1.8.1 Платформа Microsoft sql Server.
- •1.8.2 Среда sql Server Management Studio.
- •2. Основные понятия баз данных.
- •2.3 Типы данных ms sql Server.
- •2.3.1 Типы char и varchar.
- •2.3.2 Типы данных nchar и nvarchar.
- •2.3.3 Типы точных числовых данных.
- •2.3.4 Тип данных даты и времени.
- •2.3.5 Типы данных Decimal, Float и Real.
- •2.3.6 Тип денежных данных.
- •2.3.7 Типы binary и varbinary.
- •2.3.8 Типы данных больших значений.
- •2.4 Индексы.
- •2.4.1 Простой индекс.
- •2.4.2 Уникальный индекс.
- •2.4.3 Первичный ключ.
- •2.4.4 Уточнение определения индексов для ms sql Server.
- •2.4.4.1 Создание кластеризованного индекса.
- •2.4.4.2 Создание некластеризованных индексов.
- •2.5 Ограничения (Constraints).
- •2.5.1 Ограничение первичного ключа (Primary key constraints).
- •2.5.2 Создание или изменение ограничения primary key.
- •2.5.2.1 Свойство identity.
- •2.5.2.2 Глобальные уникальные идентификаторы.
- •2.6 Отношения между таблицами.
- •2.7 Нормализация данных.
- •2.7.1 Функциональные зависимости.
- •2.7.2 Первая нормальная форма таблицы.
- •2.7.3 Вторая нормальная форма таблицы.
- •2.7.4 Третья нормальная форма таблицы.
- •2.8 Ограничение foreign key.
- •2.8.1 Ведение ссылочной целостности.
- •2.8.2 Диалоговое окно "Связи внешнего ключа".
- •2.9 Ограничение unique.
- •2.9.1 Создание ограничения уникальности визуальными средствами.
- •2.9.2 Изменение ограничения уникальности.
- •2.10 Проверочные ограничения check.
- •2.11 Значения по умолчанию (Default).
- •3. Диаграммы базы данных.
- •3.1 Конструктор баз данных.
- •3.1.1 Таблицы и столбцы в диаграмме базы данных.
- •3.2 Редактирование диаграммы.
- •4. Основы Transact-sql.
- •4.1 Введение в sql.
- •4.1.1 Особенности выполнения инструкций Transact-sql.
- •4.2 Запросы.
- •4.2.2 Синтаксис инструкции select.
- •4.2.2.1 Предложение select.
- •4.2.2.2 Предложение select_list.
- •4.2.2.3 Предложение into.
- •4.2.2.4 Предложение from.
- •4.2.2.5 Предложение where.
- •4.2.2.6 Предложение group by.
- •4.2.2.7 Предложение having.
- •4.2.2.8 Предложение order by.
- •4.3 Ввод данных.
- •4.4 Обновление или изменение данных.
- •4.5 Удаление данных.
- •4.6 Представления.
- •4.6.1 Сравнительные характеристики запросов и представлений.
- •4.6.2 Типы представлений.
- •4.6.2.1 Стандартные представления.
- •4.6.2.2 Индексированные представления.
- •4.6.3 Создание представлений.
- •4.6.3.1 Обновляемые представления.
- •4.7.5 Настройка разрешений на объекты базы данных.
- •4.7.5.3 Создание пользователя в базе данных.
- •4.7.5.4 Инструкция grant.
- •4.7.6 Удаление объектов базы данных.
4.3 Ввод данных.
Для начального ознакомления с правилами ввода инструкций SQL и для того чтобы ускорить процесс заполнения данными созданной нами базы данных BOREI, воспользуемся инструкцией INSERT. В простейшей форме она имеет следующий вид:
INSERT INTO table_name [(columns)] VALUES (values)
Если имена не определены, то сервер вставляет данные в порядке следования столбцов в определении таблицы, при этом число значений должно совпадать с числом столбцов. Когда в операторе используются имена столбцов, то предполагается, что порядок последующих значений соответствует порядку определения столбцов этого оператора. Столбцы, отсутствующие в операторе, заполняются либо значениями по умолчанию, либо неопределёнными значениями NULL в соответствии с определением таблицы. В качестве значений могут быть константы или вычисляемые значения. В SQL операторах, включённых в другой язык, значениями могут служить также и переменные.
INSERT INTO Suppliers (CodeSuppliers, Title, AddressTo, Post, Address, City, IIndex, Country, Telephone, Fax) VALUES (1, 'Tecnis', 'Вероника Кудрявцева', 'Менеджер по закупкам', 'ул. Большая Садовая, 12', 'Москва', '123456', 'Россия', '(095) 325-2222', '(095) 325-2222')
4.4 Обновление или изменение данных.
Для изменения данных используют оператор UPDATE.
Простой оператор UPDATE имеет следующий синтаксис:
UPDATE table
SET column = value
WHERE condition
Оператор UPDATE изменяет значения в одной или нескольких строках существующей таблицы. Столбцы, подлежащие изменению определяются, в предложении SET. Для изменения значений в нескольких столбцах они должны быть перечислены в предложении SET через запятую.
Предложение WHERE определяет строки подлежащие изменению. Если предложение WHERE отсутствует, то изменения будут проведены во всех строках. Например, следующий оператор изменяет цену на все товары типа CD-ROM (CodeType=13), увеличивая ее на 1 в таблице Goods.
UPDATE Goods
SET Price=Price+1
WHERE CodeType=13
4.5 Удаление данных.
Для удаления одной или нескольких строк из таблиц используют оператор DELETE.
Простой оператор DELETE имеет следующий синтаксис:
DELETE FROM table
WHERE condition
Как и в случае оператора UPDATE, предложение WHERE определяет строки, подлежащие удалению. Условие поиска может быть составлено из нескольких простых условий, а также использовать подзапрос.
Замечание. Оператор DELETE не требует в обязательном порядке предложения WHERE. Однако если это предложение отсутствует, то будут удалены все, содержащиеся в таблице записи.
Рассмотрим пример "удаление строк из таблицы Ordered". В этом упражнении вначале просматриваются заказы дешевле 1$. Затем соответствующие заказы будут удалены из таблицы Ordered, и мы убедимся, что это сделано.
Просмотрим продажи по заказам:
SELECT * FROM Ordered WHERE Price < 1
Должно существовать 3 таких заказa. Введем следующий оператор:
DELETE FROM Ordered WHERE Price < 1
Примечание. Обратите внимание, что оператор DELETE не требует определения столбцов, поскольку он удаляет всю строку.
Если снова просмотреть продажи по заказам: SELECT * FROM Ordered WHERE Price < 1
то получим теперь пустой результат.