CONSTRAINT groups_uk UNIQUE (num_gr,form),
Лабораторная работа №1 (4 часа)
Цель работы: научиться создавать, редактировать и удалять таблицы и их элементы средствами ORACLE Database Express Edition, а также строить запросы к ним.
Порядок выполнения работы.
Начало работы в ORACLE Database Express Edition.
В меню ПУСК выберите Все программы > Oracle Database 10g Express Edition> Go To Database Home Page
В открывшемся окне введите username system, password manager (в аудитории 367) или тот пароль, который запрашивается при установке ORACLE Database Express Edition.
Вы вошли в систему с правами администратора.
Создание табличного пространства
Выберите в меню пункт SQL. Затем пункт SQL Command.
CREATE TABLESPACE
DATAFILE file_specification
[AUTOEXTEND OFF]
или [AUTOEXTEND ON [NEXT число K или M]
[MAXSIZE UNLIMITED или MAXSIZE число K или M]
[NOLOGGING или LOGGING]
[, file_specification
[AUTOEXTEND OFF]
или [AUTOEXTEND ON [NEXT число K или M]
[MAXSIZE UNLIMITED или MAXSIZE число K или M]
[NOLOGGING или LOGGING]]
[MINIMUM EXTENT число K или M]
[DEFAULT STORAGE storage_clause]
[ONLINE или OFFLINE]
[PERMANENT или TEMPORARY]
- DATAFILE file_specification - определяет имена (или имя) файлов данных, составляющих табличное пространство. File_specification - это 'имя_файла' SIZE число (K или M) [REUSE]. Спецификация файла используется для указания имени и первоначального размера в (К)илобайтах или в (М)егабайтах файла данных. Параметр [REUSE] позволяет воспользоваться уже существующим в системе файлом.
Уточнения параметра DATAFILE:
- AUTOEXTEND OFF - параметр указывает, что средство автоувеличения размера файла использоваться не будет.
|
|
- AUTOEXTEND ON - автоувеличение размера файла будет использовано. Дополнительно можно указать:
- NEXT число K или M - когда файл данных самоувеличивается, он изменяется на указанный объем.
- MAXSIZE UNLIMITED - размер файла будет ограничен лишь физическим диском и особенностями операционной системы.
- MAXSIZE число K или M - файл данных не может быть больше указанного объема.
Вот остальные параметры команды CREATE TABLESPACE:
- LOGGING - указывает, что в журнал выполненных операций будет заноситься информация о таблицах, индексах и разделах. Параметр по умолчанию. Журналирование может быть отменено для этих операций опцией NOLOGGING.
- NOLOGGING - журналирование не будет выполняться для операций, поддерживающих эту опцию.
- MINIMUM EXTENT число K или M - указывает минимальный размер экстентов табличного пространства.
- DEFAULT STORAGE storage_clause - указывает параметры по умолчанию хранения табличного пространства.
- ONLINE - табличное пространство становится оперативным сразу после своего создания.
- OFFLINE - табличное пространство недоступно непосредственно после своего создания (до тех пора, пока не будет переведено в оперативное состояние).
- TEMPORARY - табличное пространство будет использовано для хранения временных объектов.
|
|
- PERMANENT - указывает табличному пространству хранить перманентные объекты. (Опция по умолчанию).
Как видите при создании табличного пространства можно указать много различных параметров и опций. Среди них есть параметры хранения, которые мы рассмотрим чуть ниже в этом же выпуске. Параметры хранения определяют характеристики табличного пространства и общие параметры его "роста".
Например,
CREATE TABLESPACE MYTBLSP DATAFILE 'C:\ORACLE\ONE.DBF' SIZE 100M
Создание схемы (пользователя).
Схема – это набор объектов. Объектами схемы являются логические структуры, непосредственно ссылающиеся на данные в базе данных. К объектам схемы относятся таблицы, представления, последовательности, синонимы, хранимые процедуры, функции, индексы и связи базы данных.
Для создания схемы нужно создать пользователя с помощью команды
CREATE USER user_name
IDENTIFIED BY password
[ DEFAULT TABLESPACE tablespace
TEMPORARY TABLESPACE
tablespace
QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED
ON tablespace
[ QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED
ON tablespace
]
Например,
CREATE USER smithj
IDENTIFIED BY pwd4smithj
DEFAULT TABLESPACE tbs_perm_01
TEMPORARY TABLESPACE tbs_temp_01
QUOTA 20M on tbs_perm_01;
Назначьте пользователю права с помощью команды Grant:
Grant connect, resource to username
|
|
Можно дать пользователю все права администратора (не рекомендуется):
Grant DBA to username
В правом верхнем углу нажмите Logout.
Теперь вы можете войти в систему с именем и паролем только что созданного пользователя и начать работу.
Задание.
Создайте таблицы для согласованной с преподавателем предметной области.
Определите первичные ключи. Определите ограничения. Определите внешние ключи. Заполните таблицы тестовыми данными. Измените и удалите некоторые данные. Добавьте и удалите какие-нибудь столбцы, удалите какую-либо таблицу.
Написать и выполнить 20 сложных запросов к БД.
Все это должно быть выполнено ТОЛЬКО командами SQL.
Для ввода команд SQL выберите в меню пункт SQL, а затем SQL Command. Здесь вы можете вводить команды и запускать их на выполнение.
Для просмотра полученных результатов и связей выберите пункт меню Object Browser.
Создание таблиц.
Создать таблицу для хранения данных можно с помощью команды CREATE TABLE языка SQL. Это одна из команд языка определения данных DDL. Команды DDL являются подмножеством команд SQL и используются для создания, изменения и удаления структур базы данных Oracle.
Синтаксис:
CREATE TABLE [схема.] таблица
(столбец тип_данных [ DEFAULT выражение]
|
|
[ограничение_столбца],
...
[ограничение таблицы]);
где: схема – то же, что имя владельца,
таблица – имя таблицы,
DEFAULT выражение – задает значение по умолчанию, используемое при отсутствии значения в команде INSERT (вставка),
столбец - имя столбца,
тип_данных – тип данных и длина столбца,
ограничение_столбца – правило целостности как часть определения столбца,
ограничение_таблицы – правило целостности как часть определения таблицы.
Параметр DEFAULT позволяет назначить значение столбца по умолчанию. Этот параметр исключает появление неопределенных значений при вставке строки без конкретного значения в данном столбце.
Основные типы данных
VARCHAR2(размер) | Символьные значения переменной длины |
CHAR(размер) | Символьные значения фиксированной длины |
NUMBER | Число с плавающей точкой |
NUMBER(p,s) | Числовое значение, p –общее количество десятичных цифр, s – количество цифр справа от десятичной точки |
DATE | Значения даты и времени |
Ограничения
NOT NULL | Означает, что данный столбец не может содержать неопределенных значений |
UNIQUE | Указывает, что столбец или набор столбцов содержит значения, которые должны быть уникальны для всех строк таблицы. В таблице не существует двух строк с одинаковым значением этого ключа, но неопределенные значения возможны. |
PRIMARY KEY | Уникально идентифицирует каждую строку таблицы |
FOREIGN KEY | Устанавливает и поддерживает отношения между данным столбцом и столбцом таблицы, на которую делается ссылка, с помощью внешнего ключа. |
CHECK | Задает условие, которое должно выполняться. |
Ограничение на уровне столбца – синтаксис
Столбец [ CONSTRAINT имя ограничения] тип ограничения
Ограничение на уровне таблицы – синтаксис
[ CONSTRAINT имя ограничения] тип ограничения (столбец…)
Если вы сами не присваиваете имя ограничению, Oracle создает его в формате SYS_Cn, где n – целое число, обеспечивающее уникальность имени ограничения.
Ограничение FOREIGN KEY.
Внешний ключ определяется в дочерней таблице, а таблица, содержащая столбец, на который производится ссылка, является родительской. Внешний ключ описывается комбинацией следующих ключевых слов:
- FOREIGN KEY задает столбец в дочерней таблице как ограничение на уровне таблицы.
- REFERENCES указывает таблицу и столбец в родительской таблице.
- ON DELETE CASCADE означает, что если удаляется строка в родительской таблице, зависимые строки в дочерней таблице также будут удалены.Если этот параметр отсутствует, строка родительской таблицы не может быть удалена, если ссылка на нее имеется в дочерней секции.
Пример:
Команда создания таблицы о номерах группы.
CREATE TABLE groups
(id NUMBER CONSTRAINT groups_pk PRIMARY KEY,
Num_gr CHAR(8) not null,
Form CHAR(2) not null,
CONSTRAINT groups_uk UNIQUE (num_gr,form),
CHECK (form in(‘Д ’,’З ’))
);
Команда создает таблицу GROUPS. Столбцы –id (уникальный идентификатор), num_gr(номер группы, например, 3091), form(форма обучения, дневная (Д) или заочная (З)).
CREATE TABLE students
(id NUMBER CONSTRAINT stud_pk PRIMARY KEY,
Surname CHAR(100) not null,
Name CHAR(100) not null,
Patron CHAR(100) not null,
Gr_id number not null,
CONSTRAINT stud_gr_id_fk FOREIGN KEY (gr_id) REFERENCES groups( id) ON DELETE CASCADE);
Команда создает таблицу STUDENTS. Столбцы –id (уникальный идентификатор), surname – фамилия, name – имя, patron – отчество студента, gr_id – внешний ключ, ссылающийся на первичный ключ таблицы GROUPS. Проще говоря, каждый студент из таблицы STUDENTS учится в какой-то группе из таблицы GROUPS. При удалении группы, удаляется и информация о всех студентах, в ней обучающихся (это только для примера, необходимости в этом нет, скорее наоборот, группу с обучающимися в ней студентами удалять не следует).
Дата добавления: 2018-10-26; просмотров: 126; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!