![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Первичные и внешние ключи.
Первичный ключ – это колонка (набор колонок), значения которой однозначно идентифицирует запись в таблице. На практике, каждая таблица должна иметь первичный ключ. В таблице сотрудников поле «код сотрудников» должно быть первичным ключом, т.к. однозначно идентифицирует сотрудника, а поле «код подразделения» должно быть первичным ключом для таблицы подразделений.
Внешний ключ – это колонка (или набор колонок) в одной таблице, значения которой должны совпадать со значением первичного ключа в другой таблице. Ограничения первичного или внешнего ключа накладывается на таблицу с помощью PRIMARY KEY и FOREIGN KEY ключевых слов в операторе CREATE TABLE.
Пример создания таблицы вместе с ограничениями первичного и внешнего ключей. Пример 1:
CREATE TABLE EMPLOYEE ( EMP_NO SMALLINT NOT NULL, LAST_NAME VARCHAR(25) NOT NULL, FIRST_NAME VARCHAR(20) NOT NULL, DEPT_NO SMALLINT NOT NULL, PRIMARY KEY (EMP_NO), FOREIGN KEY (DEPT_NO) REFERENCES DEPARTMENT (DEPT_NO) );
Пример 2:
Create table Department (
ID_DEPARTMENT INTEGER NOT NULL PRIMARY KEY, DEPARTMENT VARCHAR(100) NOT NULL UNIQUE ) Пример 3:
CREAT TABLE EMPLOYEE ( ID_EMPLOYEE INTEGER NOT NULL PRIMARY KEY, SYRNAME VARCHAR(100). IDDEPARTMENT INTEGER NOT NULL REFERENCES DEPARTMENT (ID_DEPARTMENT)
)
21.02.12
Добавление данных в таблицу.
Добавление данных в таблицу осуществляется с помощью оператора INSERT (вставка).
Простейшая форма оператора INSERT позволяет определить значения для всех полей добавляемой в таблицу записи.
INSERT INTO ИМЯ_ТАБЛИЦЫ VALUES (Значение1, Значение2, …);
Чтобы использовать данный синтаксис нужно знать количество полей таблицы, их порядок и тип каждого поля.
Пример:
INSERT INTO DEPARTMENT VALUES (180, ‘Отдел маркетинга’); INSERT INTO DEPARTMENT VALUES (100, ‘Отдел продаж’);
Пример добавление в таблицу нескольких записей из другой таблицы:
INSERT INTO department2 SELECT * FROM department
Существует общая форма оператора INSERT. Позволяет задать значения определенных полей.
INSERT INTO имя_таблицы (Поле1, Поле2, …) VALUES (Значение1, Значение2, …);
Пример:
INSERT INTO DEPARTMENT (DEPARTMENT, DEPT_NO) VALUES (‘Кафедра финансов’, 620);
INSERT INTP EMPLOYEE (EMP_NO, LAST_NAME, FIRST_NAME, DEPT_NO) VALUES (10335, ‘Smith’, ‘John’, 180);
Пример простейшей формы оператора INSERT:
INSERT INTO EMPLOYEE VALUES (21374, ‘Карлова’, ‘Екатерина’, 620); INSERT INTO EMPLOYEE VALUES (13314, ‘Иванов’, ’Иван’, 100); INSERT INTO EMPLOYEE VALUES (5441, ‘Левин’, ’Степан’, 100);
Сервер БД поддерживает механизм ссылочной целостности.
Каждый сотрудник иметь уникальный код. Каждый сотрудник работает ровно в одном подразделении.
|