
Лабораторная работа № 7 Разработка баз данных средствами sql-сервера Interbase. Команды языка sql для описания данных.
Цель работы:Изучить команды описания данных и команды манипулирования данными языкаSQL. . Познакомиться с работой приложенияIBConsole. Получить навыки работы при создании базы данных средствамиSQLсервера -InterBase. Получить навыки работы при работе с интерактивнымSQLв приложенияхIBConsoleиSQLExplorer.
Основные теоретические сведения
BorlandInterBaseServer– система, обладающая широкими возможностями построения больших корпоративных БД. Локальный серверInterBase, входящий в поставкуDelphiявляется усеченной локальной версиейBorlandWorkgroupсервера, который находит применение в больших реальных задачах.BorlandInterBaseServerпозволяет в локальном варианте разрабатывать программы, которые в дальнейшем могут использоваться для работы на реальных системах. Приложение, отлаженное с использованиемBorlandInterBaseServerможно легко перенести на реальный серверInterBase, а учтя некоторые особенности диалектовSQL, можно перенести и на другие имеющиеся на рынке системы, такие какMSSQLServer,Informix,Oracleи др.
Базой данных в InterBaseявляется отдельный файл с расширением .gdb. В этом файле хранятся все таблицы БД, просмотры, хранимые процедуры и все другие объекты.
InterBaseхранит информацию о метаданных в специальных таблицах, которые называются системными таблицами (system tables). Системные таблицы имеют специальные столбцы, которые содержат информацию о типе метаданных в этой таблице. Имена всех системных таблиц начинаются с "RDB$". Пример системной таблицы - RDB$RELATIONS, которая содержит информацию о каждой таблице в базе данных.
Системные таблицы имеют такую же структуру, как и определенные пользователем таблицы и расположены в той же самой базе. Так как метаданные, пользовательские таблицы, и данные все вместе расположены в одном и том же файле базы данных, каждая база данных является законченным модулем и может быть легко перенесена между различными машинами.
Программа IBConsole. Регистрация пользователя сервера InterBase.
Создание и использование БД в InterBaseпотребует от вас указания пользователя, создавшего БД, и его пароля. ПрограммаIBConsoleпозволяет произвести такую регистрацию. Запуск программы может быть осуществлен из файла \Program Files\Borland\InterBase\bin\IBConsole.exe.Регистрация сервераосуществляется в диалоговом окне, которое открывается командойServer–Register, в котором необходимо указать имя администратора БД (UserName) -SYSDBAи его пароль (Password) –masterkey. При регистрации локального сервера в открывшемся окне должна быть включена радиокнопкаLocalServer. После нажатия на ОК в окне IBConsole появится вершина локального сервера. Снятие сервера с регистрации осуществляется командойServer–Un-Register.
Процедура регистрации выполняется один раз для каждого сервера, при последующих выполнениях IBConsole серверы уже будут зарегистрированы. Если при открытии программы IBConsole ранее зарегистрированные серверы перечеркнуты красным крестиком, это означает, что в настоящий момент отсутствует соединение с серверами, для его установки надо выполнить команду Server–Login.
После регистрации сервера необходимо зарегистрировать на нем БДс помощью окна, вызываемого командойDatabase–Register, в котором необходимо указать имя файла БД, алиас, определяющий псевдоним, под которым БД будет отображаться (не обязательно) и для того, чтобы сразу после регистрации соединиться с БД указать имя пользователя и пароль. Соединение с уже зарегистрированной БД может быть выполнено командойDatabase–Connect.
Создание новой БДобеспечивается командойDatabase–CreateDatabase. После ее выполнения открывается диалоговое окно, в котором в панелиFile(s) надо записать имя файла создаваемой БД с полным путем доступа к нему.Interbaseпозволяет размещать БД в нескольких файлах, в этом случае в первой строке записывается имя первого файла, в следующих строках – имена остальных. В панелиOptionsследует изменить только один параметр:DefaultCharacterSet(множество символов), установив его вWIN1251.
После соединения с БД в левой части окна будут отображен список объектов БД: Domain,Table,Index,View,Storedprocedure,ExternalFunction,GeneratorException.
Создание алиасадля серверной БД осуществляется с помощью приложенияSQLExplorerкомандойObject–Newпри выборе драйвераINTRBASE. Для созданного псевдонима в правой панели нужно изменить значения, заданные по умолчанию в следующих строках:
LANGDRIVER = Pdox ANSI Cirillic
SERVERNAME= [полное имя файла, содержащего БД]
USERNAME=SYSDBA
Язык SQL
Язык SQL Структурированный Язык Запросовпредназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде. Поэтому, в язык SQL в качестве составных частей входят:
язык манипулирования данными (Data Manipulation Language, DML)
язык определения данных (Data Definition Language, DDL)
язык управления данными (Data Control Language, DCL).
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации).
Нужно заметить, что в настоящее время, ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартными. Таким образом, можно сказать, что каждый диалект - это надмножество некоторого подмножества стандарта SQL. Это затрудняет переносимость приложений, разработанных для одних СУБД в другие СУБД. Точное описание особенностей языка приводится в документации на СУБД, которую Вы используете. SQL системы InterBase 6.Х соответствует стандарту ANSI-92 и поддерживает диалект 1.
Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы".
Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.
Язык определения данныхиспользуется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и хранимых процедур. Основными его командами являются:
CREATE DATABASE - создать базу данных
CREATE DOMAIN - создать домен
CREATE TABLE - создать таблицу
CREATE VIEW - создать просмотр (виртуальную таблицу)
CREATE INDEX - создать индекс
CREATE TRIGGER - создать триггер
CREATE PROCEDURE - создать хранимую процедуру
CREATE COLLATION - создать последовательность
ALTER DATABASE - модифицировать базу данных
ALTER DOMAIN - изменить домен
ALTER TABLE - модифицировать таблицу
ALTER VIEW - модифицировать просмотр
ALTER INDEX - модифицировать индекс
ALTER TRIGGER - модифицировать триггер
ALTER PROCEDURE - модифицировать хранимую процедуру
DROP DATABASE - удалить базу данных
DROP DOMAIN - удалить домен
DROP TABLE - удалить таблицу
DROP VIEW - удалить виртуальную таблицу
DROP INDEX - удалить индекс
DROP TRIGGER - удалить триггер
DROP PROCEDURE - удалить хранимую процедуру
DROP COLLATION - удалить последовательность
Язык управления даннымииспользуется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать "язык управления доступом". Он состоит из двух основных команд:
GRANT - предоставить привилегии пользователю или приложению на манипулирование объектами
REVOKE - отменить привилегии пользователя или приложения (забрать права)