- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.5. Метод er - проектирования
- •1.5.1. Сущности и связи
- •1.5.2. Степень связи
- •1.5.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.5.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.5.5. Последовательность проектирования бд при использовании er- метода
- •1.5.5. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.5. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.5. Изменение данных
- •3.4.7. Удаление данных
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 70
- •Часть 3. Разработка приложений для работы с базами данных 113
3.4.Работа в ms sql –Server
3.4.1. Основные количественные показатели системы sql-сервер
Показатель |
Размер |
Количество поддерживаемых баз |
32757 |
Максимальный размер базы данных |
1 0485 1 5 терабайт |
Максимальное число таблиц, определяемых в одной базе данных |
2 миллиарда |
Максимальное количество столбцов в одной таблице |
1 024 |
Максимальное число столбцов, которые можно определить в одном SQL-запросе |
32 |
Максимальное количество строк |
Неограниченно (определяется ресурсами сервера) |
Максимальное количество индексов для каждой таблицы |
250 |
3.4.2. Создание баз данных
SQL Server 2000 предлагает несколько путей создания баз данных.
- Использование Enterprise Manager. Для создания базы данных с помощью Enterprise Manager в контекстном меню папки Databases на нужном сервере необходимо использовать команду New Database (Новая база данных).
- Использование мастера Create Database Wizard. Для этого в панели инструментов Enterprise Manager нужно щелкнуть на кнопке Run a Wizard (Запустить мастера) и выбрать нужный мастер.
- Использование Transact-SQL. Этот метод предполагает использование команды CREATE DATABASE.
Кроме перечисленных методов имеется еще несколько способов создания баз данных, например с использованием SQL-DMO.
Рассмотрим создание баз данных с использованием команд Transact –SQL. Этот метод является наиболее сложным из всех перечисленных, но обладает максимальными возможностями. В сущности, два других метода всeгo - навсего графический интерфейс для выполнения соответствующих команд Transact-SQL и системных хранимых процедур.
В простейшем случае, для того чтобы создать базу данных, достаточно указать ее имя. В общем же случае при создании базы данных помимо ее имени указывается имя владельца (им будет пользователь, создающий базу данных) и размер базы данных, определяются файлы и группы файлов, из которых будет состоять создаваемая база данных, задается шаг прироста, сопоставление и некоторые другие параметры.
Перед созданием базы данных необходимо уяснить следующие моменты:
- по умолчанию базы данных разрешено создавать членам фиксированных ролей сервера sysadmin и dbcreator, хотя разрешение на создание баз данных можно предоставлять и другим пользователям;
- пользователь, создающий базу данных, автоматически становится ее владельцем;
- имя (название) базы данных должно соответствовать правилам именования объектов.
База данных SQL Server 2000 является довольно сложной структурой. Более того, процесс создания базы данных может представлять собой не только собственно создание базы данных, но и присоединение к ней готовых файлов данных. С помощью Enterprise Manager не всегда удается получить доступ ко всем возможностям создания баз данных, предлагаемым SQL Server 2000. Эти возможности доступны только при непосредственном использовании команд Transact-SQL.
При работе с Transact-SQL создание базы данных выполняется с помощью команды CREATE DATABASE, имеющей следующий синтаксис:
CREATE DATABASE database_name
[ON | PRIMARY]
[< filespec >]
[ < filegroup >]
[LOG ON (< filespec >)]
[COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
Как видно из синтаксиса и как было сказано выше, при создании базы данных обязательным является лишь указание ее имени. Все остальные параметры могут быть опущены. Например, в следующем примере выполняется создание базы данных db_student: create database db_student
Хотя приведенный пример вполне работоспособен и может активно использоваться на практике, все же рассмотрим подробно назначение каждого из параметров команды CREATE DATABASE.
- database_name. Имя, которое будет присвоено создаваемой базе данных. При выборе имени следует следовать общим правилам именования объектов. Если имя базы данных содержит пробелы или другие недопустимые символы, оно должно быть заключено в ограничители (двойные кавычки или квадратные скобки). Имя базы данных должно быть уникальным в пределах сервера и не может превышать 128 символов. Если имя журнала транзакций явно не указано, то сервер укорачивает имя базы данных таким образом, чтобы оно не превышало 123 символов. Это делается из-за того, что сервер по умолчанию использует для имени журнала транзакций имя базы данных и добавляет к нему в конце символы «_Log».
- ON. После этого ключевого слова указывается описание файлов базы данных.
- PRIMARY. Это ключевое слово свидетельствует, что описываемый далее файл является первичным файлом базы данных. В этом файле хранятся все системные данные и таблицы. Только один файл в базе данных может быть первичным. Если первичный, файл не определен явно, то в этом качестве будет использоваться первый файл, указанный в конструкции <filespec>. Группа файлов, в которую включен первичный файл, называется первичной группой файлов (primary file group). Первичная группа назначается группой файлов по умолчанию (default file group), то есть в нее включаются все файлы, для которых явно не указана целевая группа файлов.
- LOG ОN. Указание этого ключевого слова означает, что файлы журнала транзакций будут определены явно. После слов LOG ON должно следовать определение файлов журнала транзакций. Если это ключевое слово отсутствует, то ecть пользователь не задает явно файлы журнала транзакций, то сервер автоматически создает единственный файл размером 25 % от суммарного размера файлов данных, но не менее 512 Кбайт. Имя файла генерируется на основе имени базы данных, но в конце к нему добавляются символы «_Log>>.
- FOR LOAD. Этот параметр оставлен в основном для обеспечения обратной совместимости с предыдущими версиями SQL Server (до SQL Server 7.0).
- FOR ATTACH. Этот параметр используется, когда необходимо выполнить присоединение (attach) базы данных. В этом случае на диске уже должны существовать файлы с данными.
COLLATE collation_name. С помощью этого параметра указывается сопоставление, которое будет использоваться в качестве сопоставления по умолчанию для всех объектов, создаваемых в базе данных, а также для системных таблиц.