Sql server краткое описание программы

В настоящей инструкции кратко описан порядок установки бесплатной системы управления данными Microsoft SQL Server 2019 Express

  1. Установка SQL Server Express
  2. Установка SQL Server Management Studio
  3. Настройка SQL Server для работы в сети
  4. Создание резервной копии базы данных
  5. Восстановление базы данных из резервной копии

Эта инструкция может быть полезной для начинающих пользователей, не имеющих опыта работы с СУБД Microsoft SQL Server. Она поможет вам быстро и правильно установить на ваш компьютер Microsoft SQL Server Express в той конфигурации, которая требуется для работы программы VOGBIT – система управления производством.

Следуйте инструкции, выполняйте по порядку указанные действия.

Обратите особенное внимание на Рис. 2 и Рис. 12. По статистике, если в дальнейшем возникают проблемы с развертыванием системы VOGBIT, то в большинстве случаев, из-за неверно выбранных параметров на этих этапах установки.

1. Установка SQL Server Express

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

Что такое SQL?

Microsoft SQL Server Express — это бесплатная многофункциональная и надежная система управления данными, которая предоставляет удобное и надежное хранилище данных для упрощенных веб-сайтов и классических приложений.

Microsoft® SQL Server® 2019 Express Поддерживаемые ОС: Windows 8 и выше или Windows Server 2012 и выше
https://www.microsoft.com/ru-RU/download/details.aspx?id=101064

Microsoft® SQL Server® 2014 Express Поддерживаемые ОС: Windows 7-8.1, Windows Server 2008 R2-Windows Server 2012 R2
https://www.microsoft.com/ru-RU/download/details.aspx?id=42299

Требования к системе:
Процессор: совместимый с Intel, с частотой 1 ГГц или выше
ОЗУ: не менее 512Мb, место на жестком диске 4,2Gb

Ограничения: Microsoft SQL Server Express поддерживает 1 физический процессор, 1 ГБ памяти и размер базы данных не более 10 ГБ

Скачайте с сайта microsoft.com пакет для установки Microsoft SQL Server Express под вашу операционную систему.

Запустите скачанный исполняемый файл (Рис. 1).

Программа для установки Microsoft SQL Server.

Рис. 1. Программа для установки Microsoft SQL Server.

На стартовой странице процесса установки выберите тип установки «Пользовательский» (Рис. 2).

Выберите тип установки

Рис. 2. Выберите тип установки «Пользовательский»

Нажмите «Установить» (Рис. 3).

Начало установки

Рис. 3. Начало установки

Программа начнёт скачивание файлов для установки Microsoft SQL Server (Рис. 4).

Скачивание пакета установки.

Что такое SQL

Рис. 4. Скачивание пакета установки.

После завершения процесса скачивания, на экране появится окно «Центра установки SQL Server». Выберите в нём пункт «Новая установка изолированного экземпляра SQL Server … » (Рис. 5).

Выберите установку нового экземпляра SQL Server.

Рис. 5. Выберите установку нового экземпляра SQL Server.

Для продолжения установки нужно согласиться с условиями лицензионного соглашения (Рис. 6).

Лицензионное соглашение.

Рис. 6. Лицензионное соглашение.

Выберите, хотите ли вы, чтобы в дальнейшем ваш SQL Server автоматически обновлялся через Центр обновления Майкрософт, или нет, и нажмите «Далее» (Рис. 7)

Настройка обновления SQL Server.

Рис. 7. Настройка обновления SQL Server.

После этого, на экране появится окно «Правила установки». Скорее всего, оно будет выглядеть, как на Рис. 8. Программа определяет потенциальные проблемы, которые могут возникнуть установке SQL Server и показывает результаты этой проверки.

Символ предупреждения в графе «Брандмауэр Windows» показывает, что если вы хотите, чтобы данный SQL Server использовался в сети (к базе данных, расположенной на этом компьютере, могли подключаться по сети пользователи с других компьютеров), то вам придётся для этого выполнить определённые дополнительные настройки безопасности на вашем компьютере после установки SQL Server.

 Окно

Рис. 8. Окно «Правила установки»

Нажмите «Далее», чтобы перейти к окну выбора компонентов для установки (Рис. 9). Все «галочки» в этом окне можно оставить по умолчанию. Можно, если хотите, снять в разделе «Компоненты экземпляра» все галочки, кроме первой – «Службы ядра СУБД» (остальное не требуется для VOGBIT).

Выбор компонентов для установки.

Рис. 9. Выбор компонентов для установки.

В окне Настройка экземпляра выберите вариант Именованный экземпляр и введите имя, как будет называться ваш экземпляр SQL сервера. Например, STP (Рис. 10). Затем нажмите Далее.

Задайте имя своего экземпляра SQL сервера.

Рис. 10. Задайте имя своего экземпляра SQL сервера.

В окне «Конфигурация сервера» на закладке «Учётные записи служб» установите для служб «Ядро СУБД SQL Server» и «Обозреватель SQL Server» Тип запуска = Авто (Рис. 11) и нажмите Далее.

Для использования в сети установите автоматический запуск служб SQL сервер.

Рис. 11. Для использования в сети установите автоматический запуск служб SQL сервер.

ВАЖНО!
На закладке «Настройка ядра СУБД» обязательно выберите Смешанный режим (проверка подлинности SQL Server и Windows) и добавьте в администраторы текущего пользователя Windows, как на Рис. 12. Введите надежный пароль администратора SQL сервера. Запомните пароль администратора, который вы установили!

Этот пароль устанавливается для администратора SQL SERVER (имя уч.записи администратора sa), и в дальнейшем будет использован для авторизации в VOGBIT при подключении с правами администратора. После того, как вы ввели и подтвердили пароль администратора, можно нажимать Далее.

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

Рис. 12. Выберите смешанный тип аутентификации, задайте пароль администратора SQL сервера.

После этого начнётся установка SQL сервера (Рис. 13). Программа выполнит все необходимые операции автоматически. Просто подождите завершения процесса.

Выполняется установка и настройка SQL сервера.

Рис. 13. Выполняется установка и настройка SQL сервера.

Когда установка и настройка будут закончены, появится окно, как на Рис. 14. Нажмите в нём Закрыть. Затем закройте и окно «Центр установки SQL Server» (Рис. 15).

Установка SQL Server завершена. Рис. 14. Установка SQL Server завершена. Окно Центра установки SQL Server можно закрыть. Рис. 15.

Окно Центра установки SQL Server можно закрыть.

Убедиться, что SQL Server успешно установлен и работает, можно следующим образом. Нажмите правую кнопку мыши на значке Мой компьютер, чтобы вызвать контекстное меню. Выберите Управление (Рис. 16).

Откройте окно Управление компьютером.

Рис. 16. Откройте окно Управление компьютером.

Выберите Службы и приложения – Службы (Рис. 17).

Выберите Службы и приложения - Службы.

Рис. 17. Выберите Службы и приложения — Службы.

В списке должна присутствовать служба SQL Server и напротив неё должно высветится Работает (Рис. 18).

Служба SQL Server работает.

Рис. 18. Служба SQL Server работает.

Теперь на вашем компьютере установлена мощная система управления данными Microsoft SQL Server Express. Вы можете создать базу данных VOGBIT и работать с ней.

Читайте также:
Примерная программа техническое обслуживание и ремонт двигателей систем и агрегатов автомобилей

Подробнее о создании новой базы данных VOGBIT смотрите в руководстве по установке VOGBIT. Там же можно найти видеоролик Часть 1. Установка, новая база данных из серии Начало работы, в котором показан процесс установки VOGBIT и создания новой базы данных.

2. Установка SQL Server Management Studio

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

SQL Server Management Studio – это полезная, свободно распространяемая, программа для управления SQL Server. С её помощью можно выполнять множество действий, в том числе, например, создавать резервные копии базы данных или восстанавливать базу данных из ранее созданной резервной копии.

Если вы планируете только ознакомиться с демо-версией VOGBIT, то установка ПО SQL Server Management Studio не требуется. Если вы планируете полноценно работать с VOGBIT, то мы рекомендуем вам при установке SQL Server сразу же установить и среду SQL Server Management Studio.

Скачать пакет для установки можно, например, здесь:

Для установки английской версии нажмите на ссылку «Скачать SQL Server Management Studio» (Рис. 19).

Выберите для установки английской версии SQL Server Management Studio.

Рис. 19. Выберите для установки английской версии SQL Server Management Studio.

Если вы хотите установить русскую версию, то промотайте страницу немного ниже и в разделе «Доступные языки» нажмите на ссылку «Русский» (Рис. 20).

Выберите для установки русской версии SQL Server Management Studio

Рис. 20. Выберите для установки русской версии SQL Server Management Studio

Запустите скачанный исполняемый файл (Рис. 21).

Программа для установки SQL Server Management Studio.

Рис. 21. Программа для установки SQL Server Management Studio.

Выберите «Установить» (Рис. 22).

Запуск процесса установки SQL Server Management Studio.

Рис. 22. Запуск процесса установки SQL Server Management Studio.

Начнётся процесс установки среды SQL Server Management Studio (Рис. 23).

Установка SQL Server Management Studio

Рис. 23. Установка SQL Server Management Studio

По завершении установки нажмите Закрыть (Рис. 24).

Среда SQL Server Management Studio установлена.

Рис. 24. Среда SQL Server Management Studio установлена.

Теперь вы можете использовать среду SQL Server Management Studio для резервного копирования-восстановления базы данных, для выполнения запросов и т.п.

3. Настройка SQL Server для работы в сети

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

Нажимаем правой кнопкой мыши на кнопке «Пуск» из контекстного меню выбираем «Управление компьютером».

Управление компьютером

Рис. 25. Управление компьютером В дереве компонентов диспетчера (слева) выбрать раздел: Службы и приложения — Диспетчер конфигурации SQL Server – Сетевая конфигурация SQL Server – Протоколы для SQLEXPRESS (возможно MSSQL зависит от версии) – TCP/IP. Во вкладке «Протокол» устанавливаем «Да», во вкладке «IP-адреса» мотаем вниз до раздела «IPAll» и устанавливаем параметр «TCP-порт» равный 1433.

Сетевая конфигурация SQL Server Рис. 26. Сетевая конфигурация SQL Server Сетевая конфигурация SQL Server Рис. 27. Сетевая конфигурация SQL Server

Далее необходимо настроить «Брандмауэр Windows»

Найдите, например, через «Проводник Windows» по пути C:WindowsSystem32 файл cmd.exe и запустите его с повышенными правами администратора. Для этого на файле cmd.exe нажмите правой кнопкой мыши и выберите «Запуск от имени администратора».

Если у вас установлен Windows 10, то для открытия порта достаточно выполнить команду:

netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN

Если у вас установлен Windows 7, то для открытия порта запускаем команду WF.msc

Откроется окно «Брандмауэр Windows»

Окно «Брандмауэр Windows»

Рис. 28. Окно «Брандмауэр Windows»

Создаем правило для входящих подключений

В диалоговом окне «Тип правила» выберите «Порт» и нажмите кнопку «Далее»

В диалоговом окне «Протокол и порты» выберите протокол «TCP».

Выберите «Определенные локальные порты» и введите номер порта экземпляра по умолчанию введите 1433.

Нажмите кнопку Далее.

В диалоговом окне Имя введите имя и описание для этого правила, например, SQLPort, а затем нажмите кнопку Готово.

Настройка завершена

4. Создание резервной копии базы данных

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

Для создания резервной копии базы данных, можно воспользоваться свободно распространяемой, программой SQL Server Management Studio.

Через меню «Пуск» запустите программу запускаем программу SQL Server Management Studio.

Выберите нужный сервер (экземпляр), введите имя и пароль администратора SQL Server’а и подключитесь к серверу.

Подключение к серверу

Рис. 29. Подключение к серверу

Если ваш SQL SERVER настроен на не стандартный порт, отличный от 1433, то в строке соединение необходимо указать его после запятой. Например: 10.0.0.30SQLEXPRESS2019, 18544 (где SQLEXPRESS2019 — имя именованного экземпляра, если имеется, а 18544 — порт сервера)

В дереве в левой части экрана выберите раздел «Базы данных» и установите курсор на нужную базу данных.

Обозреватель объектов

Рис. 30. Обозреватель объектов

Откройте правой кнопкой мыши контекстное меню. Выберите «Задачи» — «Создать резервную копию. Если в области «Назначение» ещё не указан файл, в который будет сохранена резервная копия, то его нужно указать. Для этого нажмите «Добавить».

Создание резервной копии Рис. 31. Создание резервной копии Создание резервной копии Рис. 32. Создание резервной копии

Если Вы сохраняете резервную копию базы данных в выбранный файл уже не первый раз, то в разделе «Параметры носителя» Вы можете выбрать один из двух вариантов:

Создание резервной копии

  • Добавить в существующий резервный набор данных;
  • Перезаписать все существующие резервные наборы данных.

Рис. 33. Создание резервной копии

Для создания резервной копии нажмите «Ок».

Создание резервной копии

Рис. 34. Создание резервной копии

5. Восстановление базы данных из резервной копии

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

Через меню «Пуск» запустите программу запускаем программу SQL Server Management Studio.

Выберите нужный сервер (экземпляр), введите имя и пароль администратора SQL Server’а и подключитесь к серверу.

Восстановление базы данных

Рис. 35. Восстановление базы данных

В дереве в левой части экрана выберите раздел «Базы данных» откройте правой кнопкой мыши контекстное меню. Выберите «Восстановить базу данных».

Восстановление базы данных

Рис. 36. Восстановление базы данных

В области «Назначение — База данных» выберите имя восстанавливаемой базы. В поле «Источник» выберите «Устройство» и нажмите «…» для выбора места расположения файла с резервной копией.

Восстановление базы данных

Рис. 37. Восстановление базы данных

В окне «Выбор устройства резервного копирования» выберите «Файл» и нажмите кнопку «Добавит».

Восстановление базы данных

Рис. 38. Восстановление базы данных

Выберите файл с резервной копией базы данных.

Восстановление базы данных

Рис. 39. Восстановление базы данных

Убедитесь, что выбрано правильное имя базы данных назначения, в противном случае впишите/выберите нужное. Если база данных с введенным именем не существует, она создастся автоматически.

Читайте также:
Ошибка программа на вашем хост компьютере разорвала установленное подключение

Восстановление базы данных

Рис. 40. Восстановление базы данных

Нажмите «Ок» для начала восстановления базы данных.

Восстановление базы данных

Рис. 41. Восстановление базы данных

Источник: vogbit.ru

Microsoft SQL Server 2012. Руководство для начинающих.

Просто и доступно рассмотрены теоретические основы СУБД SQL Server 2012. Показана установка, конфигурирование и поддержка MS SQL Server 2012. Описан язык манипулирования данными Transact-SQL. Рассмотрены создание базы данных, изменение таблиц и их содержимого, запросы, индексы, представления, триггеры, хранимые процедуры и функции, определенные пользователем.

Показана реализация безопасности с использованием аутентификации, шифрования и авторизации. Уделено внимание автоматизации задач администрирования СУБД. Рассмотрено создание резервных копий данных и выполнение восстановления системы.

Thumbnails Document Outline Attachments Layers

Источник: www.kavserver.ru

SQL Server – коротко о главном

В качестве среды программирования мы будем использовать СУБД (систему управления базами данных) SQL Server.

SQL Server – это хорошо масштабируемый, полностью реляционный, быстродействующий многопользовательский сервер баз данных масштаба предприятия, способный обрабатывать большие объемы данных для клиент-серверных приложений. Основные характеристики:

– поддержка 64-разрядной архитектуры;

– масштабируемость (многопроцессорная обработка и поддержка терабайтных БД – 10е12 байт);

– стандарт SQL92 (язык Transact SQL);

– параллельные архивирование и восстановление БД;

– интеграция с IIS и InterDev.

Компоненты (жирным шрифтом выделено то, что мы будем активно использовать):

– Books Online – справочная система;

– Client Network Utility – настройка клиента для работы в сети;

– Enterprise Manager – основное средство для администрирования;

– Import and Export Data – конвертирование данных;

– Performance Monitor – монитор производительности;

– Query Analyzer – среда для выполнения запросов;

– Server Network Utility – настройка сервера для работы в сети;

– Service Manager – утилита для запуска и останова системы.

Администрирование баз данных в основном осуществляется через Enterprise Manager.

Для запуска сервера используйте Service Manager — до него можно добраться через меню или с помощью значка на панели задач, изображающего корпус компьютера. Если на значке указана зеленая стрелка, сервер запущен. Если красный квадратик — сервер остановлен.

Стандартные базы данных:

– master – системная БД с конфигурацией SQLServer

– model – шаблон для всех пользовательских БД

– msdb – планирование заданий по расписанию и т.п.

– tempdb – для временных объектов

– диаграмм (автоматически не создаются!);

– таблиц (пользовательских и системных);

– значений по умолчанию;

БД можно создать:

– с помощью мастера (для чайников);

– с помощью визуальных средств Enterprise Manager:

Databases – New database:

– главный файл имеет тип.MDF (один);

– дополнительные файлы –.NDF (м.б. несколько);

– файл журнала транзакций –.LDF.

Можно задавать максимальный размер БД и рост в % и Мб.

– с помощью средств ER-проектирования, например Platinum ERWin,

– с помощью SQL-команд, запуская их из Query Analyzer.

Query Analyzer: позволяет выполнять как отдельные SQL-команды, так и SQL-файлы целиком.

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

Результаты запроса выдаются в нижнем окне. Оно имеет две закладки – для результатов и для сообщений. Результаты можно выдавать в виде текста или в виде таблицы. Если в каком-то из окон не читается русский текст, поменяйте в этом окне шрифт на русифицированный.

Самостоятельно изучите интерфейс Enterprise Manager и Query Analyzer. Поэкспериментируйте с базами данных pubs и NorthWind.

Задание для индивидуальной работы 3

Не используйте визуальные средства SQL server для создания вашей базы данных. Используйте только Query Analyzer. Как создавать БД и таблицы – см. следующую тему.

DDL. Таблицы

DDL – Data Definition Language – язык описания данных, составная часть SQL. Рассмотрим команды создания базы данных и таблиц.

Для создания базы данных служит команда

CREATE DATABASE имя_БД

Для активизации базы данных служит команда

Выполняйте команду активизации базы данных при каждом входе в Query Analyzer, поскольку по умолчанию в качестве активной установлена БД master.

Для создания таблиц используется команда CREATE TABLE.

Краткий формат этой команды (квадратные скобки означают необязательные элементы):

CREATE TABLE имя_таблицы(

Более подробно смотрите в Books Online.

Описание поля имеет формат:

Чаще всего используются типы полей:

VARCHAR – строковый тип переменной длины;

NUMERIC – числовой тип;

DATETIME – тип дата/время.

(какие еще типы полей есть в SQL server? – обращайтесь к Book s Online )

NULL – специальное “неопределенное” значение, предусмотренное стандартом SQL. Ограничение NULL/NOT NULL служит для указания, что данный тип поля допускает/запрещает ввод NULL-значений.

PRIMARY KEY – ограничение, указывающее, что в данной таблице данное поле представляет собой первичный ключ (составной первичный ключ таким образом объявлять нельзя!). При использовании этого ограничения создается первичный индекс.

UNIQUE – ограничение, указывающее, что в данном поле могут храниться только уникальные значения. При использовании этого ограничения создается уникальный индекс.

IDENTITY начальное_значение, приращение – ограничение, указывающее, что данное поле представляет собой счетчик, т.е, значения в данное поле вставляются автоматически с нарастанием при вставке строки. Если “начальное_значение” и “приращение” пропущены, они полагаются равными 1.

DEFAULT умолчание – очевидно, значение по умолчанию, т.е., значение, которое присваивается данному полю, если при вставке новой строки этому полю не было явно присвоено некоторое значение.

CHECK (условие)- условие на поле, которое будет проверяться при вводе новых строк.

Например, в таблице “Предприятия” номер предприятия будет первичным ключом и счетчиком, название фирмы не допускает значений NULL:

CREATE TABLE k_firm

(firm_num NUMERIC(6) IDENTITY PRIMARY KEY,

firm_name VARCHAR(100) NOT NULL,

В таблице “Договоры” для поля даты договора задается значение по умолчанию – текущая дата, для типа договора задается условие, что он должен принадлежать заданному списку значений.

CREATE TABLE k_contract

(contract_num NUMERIC(6) IDENTITY PRIMARY KEY,

contract_date DATETIME DEFAULT GETDATE(),

CHECK (contract_type IN (‘A’,’B’,’C’)),

firm_num NUMERIC(6) NOT NULL,

REFERENCES имя_таблицы(имя_поля) — ограничения декларативной ссылочной целостности.

Декларативная ссылочная целостность требует, чтобы в поле внешнего ключа можно было вводить только такие значения первичного ключа, которые присутствуют в родительской таблице. Например, в таблицу “Сотрудники” мы не можем внести номер несуществующего отдела. Кроме того, из родительской таблицы нельзя удалить строку, если в дочерней таблице имеются строки с таким внешним ключом. Мы не можем удалить отдел, если с ним связаны сотрудники:

Читайте также:
Температура процессора программа mac

CREATE TABLE k_staff

(staff_num NUMERIC(6) IDENTITY,

staff_name VARCHAR(30) NOT NULL,

REFERENCES k_dept (dept_num),

staff_hiredate DATETIME NOT NULL,

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

Ограничение CHECK уровня таблицы может быть определено, например,так:

CREATE TABLE k_bill

(bill_num NUMERIC(6) IDENTITY PRIMARY KEY,

bill_date DATETIME DEFAULT GETDATE(),

bill_term DATETIME DEFAULT GETDATE()+30,

CONSTRAINT ch_bill_date CHECK (bill_term-bill_date<91)

т.е., срок действия счета не может превышать 91 день.

Ограничение внешнего ключа определяется так:

CONSTRAINT имя_ограничения FOREIGN KEY (список_полей)

REFERENCES родительская_таблица(внешний ключ)

CREATE TABLE k_contract

(contract_num NUMERIC(6) IDENTITY PRIMARY KEY,

contract_date DATETIME DEFAULT GETDATE(),

CHECK (contract_type IN (‘A’,’B’,’C’)),

firm_num NUMERIC(6) NOT NULL,

CONSTRAINT fk_contract_firm_num FOREIGN KEY (firm_num)

REFERENCES k_firm (firm_num),

CONSTRAINT fk_contract_staff_num FOREIGN KEY (staff_num)

REFERENCES k_staff (staff_num)

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

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

CONSTRAINT имя_ограничения PRIMARY KEY (список_полей)

Например, в таблице протоколов счета первичный ключ состоит из двух полей, для каждого из них также создается внешний ключ:

CREATE TABLE k_protokol

(price_num NUMERIC(6) NOT NULL,

bill_num NUMERIC(6) NOT NULL,

kolvo NUMERIC(6) NOT NULL,

price_sum NUMERIC(9,2) NOT NULL,

PRIMARY KEY (price_num, bill_num),

CONSTRAINT fk_protokol_price_num FOREIGN KEY (price_num)

REFERENCES k_price (price_num),

CONSTRAINT fk_protokol_bill_num FOREIGN KEY (bill_num)

REFERENCES k_bill (bill_num)

Пример сценария создания БД «РОГА И КОПЫТА»

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

CREATE DATABASE kontora

Таблица «Предприятия»

CREATE TABLE k_firm

(firm_num NUMERIC(6) IDENTITY PRIMARY KEY,

firm_name VARCHAR(100) NOT NULL,

Таблица «Отделы»
Мы не можем пока определить внешний ключ для поля staff_num, так как таблица «Сотрудники» еще не определена.

CREATE TABLE k_dept

(dept_num NUMERIC(6) IDENTITY PRIMARY KEY,

dept_short_name VARCHAR(10) NOT NULL,

Таблица «Сотрудники»
После создания этой таблицы сразу же можем определить внешний ключ для поля staff_num таблицы k_dept.

CREATE TABLE k_staff

(staff_num NUMERIC(6) IDENTITY,

staff_name VARCHAR(30) NOT NULL,

dept_num NUMERIC(6) NOT NULL,

staff_hiredate DATETIME NOT NULL,

CONSTRAINT pk_staff_num PRIMARY KEY (staff_num),

CONSTRAINT fk_staff_dept_num FOREIGN KEY (dept_num)

REFERENCES k_dept (dept_num)

ALTER TABLE k_dept ADD CONSTRAINT fk_staff_num

FOREIGN KEY (staff_num)

Таблица «Договоры»

CREATE TABLE k_contract

(contract_num NUMERIC(6) IDENTITY PRIMARY KEY,

contract_date DATETIME DEFAULT GETDATE(),

CHECK (contract_type IN (‘A’,’B’,’C’)),

firm_num NUMERIC(6) NOT NULL,

CONSTRAINT fk_contract_firm_num FOREIGN KEY (firm_num)

REFERENCES k_firm (firm_num),

CONSTRAINT fk_contract_staff_num FOREIGN KEY (staff_num)

REFERENCES k_staff (staff_num)

Таблица «Счета»
ALTER TABLE здесь просто для иллюстрации, как можно добавлять поля в уже созданную таблицу.

CREATE TABLE k_bill

(bill_num NUMERIC(6) IDENTITY PRIMARY KEY,

bill_date DATETIME DEFAULT GETDATE(),

bill_term DATETIME DEFAULT GETDATE()+30,

bill_peni NUMERIC(6) DEFAULT 0,

FOREIGN KEY (contract_num)

REFERENCES k_contract (contract_num),

CONSTRAINT ch_bill_date CHECK (bill_term-bill_date<91)

ALTER TABLE k_bill ADD bill_sum NUMERIC(6) DEFAULT 0 NOT NULL

Таблица «Платежи»
Первичный ключ здесь состоит из нескольких полей, поэтому ограничение PRIMARY KEY можно создавать только на уровне таблицы, а не на уровне поля.

CREATE TABLE k_payment

(payment_num NUMERIC(2) DEFAULT 0,

payment_date DATETIME DEFAULT GETDATE(),

PRIMARY KEY (payment_num, bill_num),

CONSTRAINT fk_payment_bill_num FOREIGN KEY (bill_num)

REFERENCES k_bill (bill_num)

Таблица «Товары/услуги» (или «Прайс-лист»)

CREATE TABLE k_price

(price_num NUMERIC(6) IDENTITY PRIMARY KEY,

price_name VARCHAR(100) NOT NULL,

Таблица «Протоколы счетов»
Первичный ключ здесь также состоит из нескольких полей, поэтому ограничение PRIMARY KEY можно создавать только на уровне таблицы, а не на уровне поля. Для каждого из этих полей здесь также создается ограничение внешнего ключа.

CREATE TABLE k_protokol

(price_num NUMERIC(6) NOT NULL,

bill_num NUMERIC(6) NOT NULL,

kolvo NUMERIC(6) NOT NULL,

PRIMARY KEY (price_num, bill_num),

CONSTRAINT fk_protokol_price_num FOREIGN KEY (price_num)

REFERENCES k_price (price_num),

CONSTRAINT fk_protokol_bill_num FOREIGN KEY (bill_num)

REFERENCES k_bill (bill_num)

В процессе отладки сценария создания базы данных вам наверняка не раз придется удалять таблицы и создавать их заново. Поэтому для удаления таблиц также удобно написать отдельный сценарий. Перед удалением каждой таблицы выполняется проверка — существует ли эта таблица. Информацию обо всех объектах БД можно получить из системной таблицы sysobjects. Тип объекта базы данных “U” означает “user table”, т.е., пользовательская таблица, “F” – “foreigh key”, т.е., внешний ключ. Для нашей базы данных сценарий может выглядеть следующим образом:

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_payment’ AND type=’U’)

DROP TABLE k_payment

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_protokol’ AND type=’U’)

DROP TABLE k_protokol

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_bill’ AND type=’U’)

DROP TABLE k_bill

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_price’ AND type=’U’)

DROP TABLE k_price

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_contract’ AND type=’U’)

DROP TABLE k_contract

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’fk_staff_num’ AND type=’F’)

ALTER TABLE k_dept DROP CONSTRAINT fk_staff_num

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_staff’ AND type=’U’)

DROP TABLE k_staff

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_dept’ AND type=’U’)

DROP TABLE k_dept

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_firm’ AND type=’U’)

DROP TABLE k_firm

IF EXISTS(SELECT name FROM sysobjects

WHERE name=’k_bill_list’ AND type=’U’)

DROP TABLE k_bill_list

Удаляются сначала дочерние таблицы, затем родительские.

Таблицы «Отделы» и «Сотрудники» взаимно ссылаются друг на друга по внешним ключам, поэтому сначала приходится удалить одно из ограничений внешнего ключа, и только потом удалять таблицы. Можно ли в данном случае поступить наоборот, т.е. удалить ограничение из таблицы k_staff? Что еще нужно будет изменить в сценарии?

С помощью каких команд можно изменить структуру уже созданной таблицы? (см. Books Online)

Какие еще команды относятся к DDL? (см. Books Online)

Задание для индивидуальной работы 4.

Напишите и отладьте SQL-сценарий создания вашей базы данных и таблиц для нее.

Источник: studopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru