ALTER TABLE table ADD (column datatype [DEFAULT expr]. } Вы можете изменить тип данных, размер и значение по умолчанию для столбца. ALTER TABLE dept30. MODIFY. (ename VARCHAR2(15))


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Базы

данных

и

Информационные

системы

4
.1
/
15
Создание и управление таблицами

Кузиков Б.О.

Сумы,
СумГУ


2014

Задачи занятия


После завершения занятия вы должны уметь
и знать следующее
:


Основные объекты БД


Создавать таблицы


Знать типы данных, которые могут быть
использованы при определении столбца


Изменять схемы таблиц


Уничтожать, переименовывать и очищать
таблицы

Модели данных

Модель
системы в
голове
клиента





Сущностная модель
модели клиента

Табличная модель
сущностной модели

Таблицы на
диске





Сервер

ERВ
в
структуру таблиц

1.
Каждая простая сущность становится таблицей.

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

null
.

3.
Идентификаторы сущностей становятся
ключами. Один из идентификаторов становится
первичным колючем.

4.
Связи ª
один
-
к
-
одному
… и ª
один
-
ко
-
многим

преобразуются во внешние ключи.


Терминология реляционных БД

1

2

3

4

5

EMPNO


ENAME

JOB MGR HIREDATE SAL COMM


DEPTNO


--------


------------



-----------------



-------


----------------



-----------

--------------

-----------


7839

KING

PRESIDENT

17
-
NOV
-
81

5000 10


7698

BLAKE

MANAGER

7839

01
-
MAY
-
81

2850 30


7782

CLARK

MANAGER

7839

09
-
JUN
-
81

2450 10


7566

JONES

MANAGER

7839

02
-
APR
-
81

2975 20


7654

MARTIN

SALESMAN

7698

28
-
SEP
-
81

1250 1400 30


7499

ALLEN

SALESMAN

7698

20
-
FEB
-
81

1600 300 30


7844

TURNER

SALESMAN

7698

08
-
SEP
-
81

1500 0 30


7900

JAMES

CLERK

7698

03
-
DEC
-
81


950 30


7521

WARD

SALESMAN

7698

22
-
FEB
-
81

1250 500 30


7902

FORD

ANALYST

7566

03
-
DEC
-
81

3000 20


7369

SMITH

CLERK

7902

17
-
DEC
-
80


800 20


7788

SCOTT

ANALYST

7566

09
-
DEC
-
82

3000 20



6

Свойства реляционных БД


Реляционная БД


Доступ к данным и их модификация
производится с помощью языка запросов

(SQL)


Содержит набор таблиц без физической
привязки
.

Взаимодействие с
БД
при помощи
SQL




БД

SQL� SELECT loc


2 FROM dept;

Вводится выражение на
SQL

Выражение
посылается в
БД

LOC

-------------

NEW YORK

DALLAS

CHICAGO

BOSTON

Выводятся
данные

Oracle
11
g:
Объектная реляционная СУБД


Определяемые пользователем типы данных и
объекты


Полная реляционная совместимость


Поддержка
мультимедийных

и больших
объектов


Широкие возможности
сервера


Базовое руководство
-


SQL Language Reference (e2608
-
8)

(1680
стр
)

Написание выражений
SQL


Выражения
SQL
не чувствительны к регистру
.


Выражения
SQL
могут состоять из одной или
нескольких строк
.


Ключевые слова не могут переноситься и
сокращаться
.


Предложения обычно пишутся в различных
строках
.


Табуляции и отступы используются для
улучшения читаемости
.

Объекты базы данных

Объект

Описание

Table

Элемент хранения
;
состоит из строк


и столбцов

View

Логически представляет подмножество

данных из одной или нескольких таблиц

Sequence

Генерирует значения первичных ключей

Index

Увеличивает скорость работы

Synonym

Альтернативное имя объекта

Соглашения именования


Имя должно начинаться с символа


Может иметь длину
1

30
символов


Может содержать только символы

A

Z, a

z, 0

9, _, $,
и

#


Не может совпадать с именем другого объекта,
принадлежащего этому же пользователю


Не может совпадать с зарезервированными командами

Oracle
Server


Имена
не зависят

от регистра. Имена в кавычках
регистро
-
зависимы


Одинаковые


employees


EMPLOYEES


“EMPLOYEES‘

Разные


“employees‘


“Employees‘


“EMPLOYEES‘

Создание таблиц:

CREATE TABLE


У вас должны быть
:


Права на операцию
CREATE TABLE


Область хранения




Вы указываете
:






Имя
столбца, его тип и размер

CREATE TABLE [
schema
.]
table
(



column

datatype

[DEFAULT
expr
]


[,column
datatype

…]

);

Имя таблицы

CREATE TABLE
tbl
1
(


A number,


B number DEFAULT 0

);

Другой способ описать допустимый
SQL
-
код

CREATE TABLE [
schema
.]
table
(



column

datatype

[DEFAULT
expr
]


[,column
datatype

…]

);

http://
docs.oracle.com/html/E26088_01/statements_7002.htm

relational_table
::=

Обращение к таблицам других пользователей


Таблицы, принадлежащие другим
пользователям, находятся вне схемы
пользователя
.


Для обращения к ним необходимо использовать
имя владельца в качестве префикса в имени
таблицы
.

Параметр
DEFAULT


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





Допускаются литералы, выражения и функции
SQL.


Не допускаются имена других столбцов или
псевдостолбцов
.


Тип данных должен совпадать с типом данных
столбца
.





hiredate

DATE DEFAULT SYSDATE
,

City Varchar2(10) DEFAULT ‘Sumy’, …

Типы данных

Тип



Описание

VARCHAR2(
size
)

Симв
. данные
перем
. длины

CHAR(
size
)


Симв
. данные фикс. длины

NUMBER(
p
,
s
)



Численные данные
перем
. длины

DATE



Даты и
время

INTEGER



Целое число

LONG



Симв
. Данные переменной длины




до 2ГБ

RAW
и

LONG RAW

Бинарные данные

BLOB



Бинарные данные до 4ГБ

BFILE



Бинарные данные, хранимые во




внешнем файле, до 4ГБ

NUMBER [ (
кол
-
во цифр

[,
кол
-
во значимых цифр
]) ]

Данные

Тип колонки

Сохранено как

123.89

NUMBER

123.89

123.89

NUMBER(3)

124

123.89

NUMBER
(3,2)

Превышает

точность

123.89

NUMBER
(4,2)

Превышает

точность

123.89

NUMBER(5,2)

123.89

123.89

NUMBER(6,1)

123.9

123.89

NUMBER(6,
-
2)

100

.01234

NUMBER(4,5)

.01234

.00012

NUMBER(4,5)

.00012

.000127

NUMBER(4,5)

.00013

.0000012

NUMBER(2,7)

.0000012

.00000123

NUMBER(2,7)

.0000012

1.2e
-
4

NUMBER(2,5)

0.00012

1.2e
-
5

NUMBER(2,5)

0.00001

Пример



SQL� CREATE TABLE
dept


2

(
deptno


NUMBER(2),


3


dname


VARCHAR2(14),


4


loc


VARCHAR2(13));

Table created.

Вывод структуры таблицы

�SQL DESCRIBE dept

Name Null? Type

-----------------

--------

------------

DEPTNO


NUMBER(2)


DNAME
VARCHAR2(14)


LOC
VARCHAR2(13)

Используйте команду

SQL*Plus DESCRIBE
для
вывода структуры таблицы
.

DESC[RIBE]
tablename

Создание таблицы с использованием
подзапроса


Создание таблицы и вставка строк с помощью
выражения
CREATE TABLE
и параметра

AS
subquery
.





Количество столбцов должно совпадать с количеством
столбцов подзапроса
.


Можно задать имена столбцов и их значения по
умолчанию
.

CREATE TABLE
table




[
column
(,
column
...)]

AS
subquery
;

Создание таблицы с использованием
подзапроса








SQL� DESCRIBE dept30

SQL� CREATE TABLE

dept30


2 AS


3 SELECT


* FROM DEPT;

Table created.

Name Null? Type

-----------------

--------

------------

DEPTNO


NUMBER(2)


DNAME
VARCHAR2(14)


LOC
VARCHAR2(13)

Изменение имени объекта


Чтобы изменить имя таблицы, представления,
последовательности или синонима, используйте
выражение
RENAME.




Вы должны быть владельцем объекта
.

SQL� RENAME
dept

TO department;

Table

renamed
.

Очистка таблицы


Выражение
TRUNCATE TABLE:


Стирает все строки из таблицы


Освобождает место, занятое
таблицей


Это
действие невозможно
откатить

(Rollback)




Для очистки также можно
использовать

выражение





SQL� TRUNCATE TABLE department;

Table truncated.




SQL�
TABLE department
;

Уничтожение таблицы


Все данные и структура таблицы уничтожаются
.


Все транзакции подтверждаются
.


Все индексы уничтожаются
.


Вы
не можете откатить
это выражение
.

SQL� DROP TABLE dept30;

Table dropped.

Выражение
ALTER TABLE


Используйте
ALTER TABLE
для
:


Добавление столбцов


Изменения существующих столбцов


Определения значения по умолчанию





ALTER TABLE
table

ADD



(
column datatype
[DEFAULT
expr
]




[,
column datatype
]...);

ALTER TABLE
table

MODIFY


(
column datatype
[DEFAULT
expr
]




[,
column datatype
]...);

Добавление столбца









DEPT30


EMPNO ENAME


ANNSAL


HIREDATE

------

----------

--------


7698

BLAKE




34200

01
-
MAY
-
81


7654

MARTIN




15000

28
-
SEP
-
81


7499

ALLEN



19200

20
-
FEB
-
81


7844

TURNER




18000

08
-
SEP
-
81

...



“‧
добавить
новый
столбец в
таблицу

DEPT30 ‧‘









DEPT30


EMPNO ENAME


ANNSAL


HIREDATE

------

----------

--------


7698

BLAKE




34200

01
-
MAY
-
81


7654

MARTIN




15000

28
-
SEP
-
81


7499

ALLEN



19200

20
-
FEB
-
81


7844

TURNER




18000

08
-
SEP
-
81

...









JOB









JOB

Новый столбец

Добавление столбцов


Используйте предложение
ADD.


EMPNO ENAME ANNSAL HIREDATE JOB

---------

----------

---------

---------

----


7698 BLAKE 34200 01
-
MAY
-
81


7654 MARTIN 15000 28
-
SEP
-
81


7499 ALLEN 19200 20
-
FEB
-
81


7844 TURNER 18000 08
-
SEP
-
81

...

6 rows selected.

SQL� ALTER TABLE dept30


2 ADD



(job VARCHAR2(9));

Table altered.

Изменение столбца


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







Изменение
значения по умолчанию
(DEFAULT)
влияет
только на
последующие действия с таблицей
.


изменение типа данных возможно только в том случае, если

столбец
пуст;


для незаполненного столбца можно изменять размер/точность. Для
заполненного столбца размер/точность можно

увеличить, но нельзя
понизить;


ограничение NOT NULL может быть установлено, если ни одно значение
в столбце не содержит NULL. Опцию NOT NULL

всегда можно отменить;


разрешается изменять значения, установленные по умолчанию.

ALTER TABLE

dept30

MODIFY


(
ename

VARCHAR2(15));

Table altered.

Удаление
столбцов


Используйте предложение
DROP.






EMPNO ENAME ANNSAL HIREDATE

---------

----------

---------

---------



7698 BLAKE 34200 01
-
MAY
-
81


7654 MARTIN 15000 28
-
SEP
-
81


7499 ALLEN 19200 20
-
FEB
-
81


7844 TURNER 18000 08
-
SEP
-
81

...

6 rows selected.

ALTER
TABLE dept30

DROP job;

Добавление комментариев


Вы можете добавить комментарий к таблице или
столбцу с помощью выражения
COMMENT.





Комментарии могут быть просмотрены с помощью
каталога данных:



ALL_COL_COMMENTS


USER_COL_COMMENTS


ALL_TAB_COMMENTS


USER_TAB_COMMENTS




SQL�
COMMENT ON TABLE
emp



2
IS

'Employee Information';

Comment created.

Выводы













Выражение


Описание

CREATE TABLE


Создает таблицу

ALTER TABLE


Изменяет схему таблицы

DROP TABLE


Уничтожает таблицу

RENAME



Изменяет имя таблицы, представления,




последовательности и синонима

TRUNCATE


Очищает таблицу и высвобождает место,




занятое таблицей


COMMENT


Добавляет комментарий


Приложенные файлы

  • pdf 7066475
    Размер файла: 789 kB Загрузок: 0

Добавить комментарий