lec 01: ทบทวนความรู้เรื่องระบบ sayan ... ·...

41
www.itsci.mju.ac.th/sayan LEC 01: ทบทวนความรู้เรื่องระบบ ฐานข้อมูลเชิงสัมพันธ์ (RDBMS) SAYAN UNANKARD 1/2558 2

Upload: others

Post on 19-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

www . i t s c i .m ju . ac . t h / sayan

LEC 01: ทบทวนความร เรองระบบฐานขอมลเชงสมพนธ (RDBMS)

SAYAN UNANKARD1/2558

2

Page 2: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ฐานขอมลเชงสมพนธ

• ฐานขอมลทมโครงสรางขอมลในแบบเชงสมพนธ ไดรบการพฒนาขนจากแบบจ าลองทกลาวถงความสมพนธระหวางขอมลทมชอวา โมเดลเชงสมพนธ (relational model) ขอมลทจดเกบอยในฐานขอมลทมโครงสรางขอมลในแบบเชงสมพนธ จะถกแยกจดเกบออกเปนหนวยยอย ๆ ทเรยกวาตาราง

• ขอมลจะถกจดเกบในรปแบบของตาราง ซงภายใน ตารางจะแบงออกเปน แถว และ คอลมน

Page 3: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

คยหลก (PRIMARY KEY) และ คยรวม (COMPOSITE KEY)

จากรเลชน ของนกศกษา จะแสดงขอมลของนกศกษา 1 คน ตอ 1 แถว ดงนนจะมกลมของคอลมนทไมซ ากนเลย และสามารถใชเจาะจงถงแถวของนกศกษาคนใดคนหนงได เรยกคอลมนนวา คยหลก

จะเรยกคยหลกทประกอบดวยคอลมนมากกวาหนงคอลมนวา คยรวม

sid name login age gpa

53666 Jones jones@cs 18 3.4

53688 Smith smith@eecs 18 3.2

53650 Smith smith@math 19 3.8

sid semester Gpa Fee

53666 1/2545 3.4 15,000.00

53666 2/2545 3.2 12,320.00

53650 1/2545 3.8 15,000.00

Page 4: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

คยคแขง (CANDIDATE KEYS)

ในรเลชนทวไป อาจจะพบวามคอลมนทมคณสมบตทจะเลอกมาเปนคยหลก จะเรยกกลมคอลมนเหลานวา คยคแขง

คยคแขงทเหลอหลงจากเลอกคยหลกแลวจะเรยกวา คยส ารอง (Alternate Key)

sid name idcard age gpa

53666 Jones 1523566215223 18 3.4

53688 Smith 2351523624655 18 3.2

53650 Smith 3212025365856 19 3.8

Page 5: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

คยนอก (FOREIGN KEYS)

เปนคยทใชแสดงความสมพนธระหวางรเลชน ซงเปนคอลมนหรอกลมของคอลมนทอยใน รเลชนหนงๆ ทคาของคอลมนนนๆ ไปปรากฏเปนคยหลกในอกรเลชนหนง โดยคยนอกและคยหลกของอกรเลชนหนงตองอยในโดเมนเดยวกน

คยนอกเปนคยทใชอางถงขอมลในตารางอน มกมชอและชนดขอมลเดยวกบคยหลกของตารางทตองการอางถง

sid name login age gpa

53666 Jones jones@cs 18 3.4

53688 Smith smith@eecs 18 3.2

53650 Smith smith@math 19 3.8

sid semester Gpa Fee

53666 1/2545 3.4 15,000.00

53666 2/2545 3.2 12,320.00

53650 1/2545 3.8 15,000.00

Student

Student_Semester

Page 6: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ENTITY - RELATIONSHIP MODEL

เปนการน าเสนอโครงสรางของฐานขอมลในระดบความคด (Conceptual Level) ออกมาในลกษณะของแผนภาพ (Diagram)

Entity

Attribute1Attribute2Attribute3

เอนตต คอ บางสงทมความส าคญทางธรกจทเกยวกบขอมลทจะตองร เปนชอทสามารถลงรายการได โดยปกตจะเปนค านาม

แอททรบวส คอ คาขอมลเดยวทเปนรายละเอยดของ เอนตต ซงอาจจะเปนค าอธบาย จ านวน คณภาพ กลม เฉพาะเจาะจง

ความสมพนธ เปนการอธบายความสมพนธระหวางเอนตต โดยปรกตจะม 2 มมมอง จะใชค ากรยาในการก าหนดความสมพนธ

Page 7: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ตวอยางของ แอททรบวส

Entity

EMPLOYEE

CAR

ORDER

JOB

TRANSACTION

EMPLOYMENT CONTRACT

Attribute

Family Name, Age, Shoe Size,

Town of Residence, Email, ...

Model, Weight, Catalog Price, …

Order Date, Ship Date, …

Title, Description, ...

Amount, Transaction Date, …

Start Date, Salary, ...

Page 8: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ตวอยางการเขยนความสมพนธ

Jobs are held by one or more employees

งานจะถกควบคมดวยพนกงานไดหลายคน

An employee has exactly one job.

พนกงานจะตองมงานรบผดชอบ 1 งาน

EMPLOYEE JOBhas

held by

Page 9: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

การก าหนดความสมพนธ

EMPLOYEE JOBhas

held by

mandatory: optional:

Every EMPLOYEE has exactly one JOB

พนกงานทกคนจะตองมงาน 1 งาน

A JOB may be held by one or more EMPLOYEES

งานอาจจะถกควบคมโดยพนกงาน 1 หรอ หลายคนได

Page 10: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

DATABASE OBJECTS

Logically represents subsets of data from one or more tables

View

Generates numeric valuesSequence

Basic unit of storage; composed of rows Table

Gives alternative name to an objectSynonym

Improves the performance of some queriesIndex

DescriptionObject

Page 11: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

NAMING RULES

การตงชอตารางและคอลมน• จะตองขนตนดวยตวอกษร• จะตองยาวไมเกน 30 ตวอกษร• ประกอบดวยอกษร A–Z, a–z, 0–9, _, $, และ # เทานน• จะตองไมซ ากบชอของวตถอนๆ ในผใชเดยวกน• จะตองไมใช Oracle server–reserved word

Page 12: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

สงทตองมคอ• ก าหนดสทธในการ CREATE TABLE

• พนทในการจดเกบ

สงทตองระบ• ชอตาราง

• ชอคอลมน ชนดของขอมล และ ขนาดของคอลมน

CREATE TABLE STATEMENT

CREATE TABLE [schema.]table(column datatype [DEFAULT expr][, ...]);

Page 13: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ตารางแตละตารางจะตองมเจาของเปนผสรางตาราง

หากตองการเรยกใชตารางของบคคลอน ๆ จะตองก าหนดค าน าหนาชอของเจาของ กอนหนาตารางเสมอ

REFERENCING ANOTHER USER’S TABLES

USERBUSERA

SELECT *

FROM userB.employees;

SELECT *

FROM userA.employees;

Page 14: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

DEFAULT OPTION

การก าหนดคาเรมตนส าหรบคอลมน ระหวางทมการเพมขอมลใหม

คาตามตวอกษร นพจน หรอ ฟงกชน SQL สามารถก าหนดได

ชอคอลมนอนๆ หรอ pseudocolumn ไมสามารถใชได

ชนดขอมลของคาเรมตนจะตองตรงกบชนดขอมลของคอลมน นน ๆ

... hire_date DATE DEFAULT SYSDATE, ...

CREATE TABLE hiredates(id NUMBER(8),hire_date DATE DEFAULT SYSDATE);

insert into hiredates(id) values (1);select * from hiredate;

Page 15: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

CREATING TABLES

การสรางตาราง

เรยกดโครงสรางของตาราง

DESCRIBE dept

CREATE TABLE dept(deptno NUMBER(2),dname VARCHAR2(14),loc VARCHAR2(13),create_date DATE DEFAULT SYSDATE);

Page 16: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

DATA TYPES

Raw binary dataRAW and LONG

RAW

Binary data (up to 4 GB)BLOB

Binary data stored in an external file (up to 4 GB)BFILE

Date and time valuesDATE

Variable-length character data (up to 2 GB)LONG

Character data (up to 4 GB)CLOB

A base-64 number system representing the unique address of a row in its table

ROWID

Fixed-length character dataCHAR(size)

Variable-length numeric dataNUMBER(p,s)

Variable-length character dataVARCHAR2(size)

DescriptionData Type

Page 17: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

การก าหนดเงอนไขในระดบตาราง

ชวยปกปองจากการลบขอมลในตารางหากมขอมลทขนอยกบขอมลอน ๆ

ชนดของเงอนไขมทงหมด 5 ชนด คอ• NOT NULL

• UNIQUE

• PRIMARY KEY

• FOREIGN KEY

• CHECK

http://code.function.in.th/sql/constraint

INCLUDING CONSTRAINTS

Page 18: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

CONSTRAINT GUIDELINES

การสราง Constraint สามารถเพม ลบ ได• ALTER TABLE ชอตาราง drop constraint ชอเงอนไข;• ALTER TABLE ชอตาราง add constraint เงอนไข;

สามารถก าหนดชอเงอนไข หรอ สามารถใหออราเคลเซรฟเวอร เปนผก าหนดชอใหอตโนมต โดยมรปแบบคอ SYS_Cn

สรางเงอนไขเมอใด• สรางพรอมกนกบสรางตาราง• สรางหลงจากสรางตารางแลว

ก าหนดเงอนไขในระดบ คอลมน หรอ ตาราง

สามารถดเงอนไขทสรางไดจาก พจนานกรมขอมล (Data Dictionary)

Page 19: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

Syntax:

Column-level constraint syntax:

Table-level constraint syntax:

DEFINING CONSTRAINTS

CREATE TABLE [schema.]table(column datatype [DEFAULT expr][column_constraint],...[table_constraint][,...]);

column,...[CONSTRAINT constraint_name] constraint_type (column, ...),

column [CONSTRAINT constraint_name] constraint_type,

Page 20: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

Example of a column-level constraint:

Example of a table-level constraint:

DEFINING CONSTRAINTS

CREATE TABLE employees(employee_id NUMBER(6)

CONSTRAINT emp_emp_id_pk PRIMARY KEY,first_name VARCHAR2(20),...);

CREATE TABLE employees(employee_id NUMBER(6),first_name VARCHAR2(20),...job_id VARCHAR2(10) NOT NULL,CONSTRAINT emp_emp_id_pk PRIMARY KEY (EMPLOYEE_ID));

1

2

Page 21: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

เพอใหแนใจวาคาวาง (null values) จะไมถกบนทกลงในคอลมน

NOT NULL CONSTRAINT

NOT NULL constraint(Primary Key enforces NOTNULL constraint.)

Absence of NOT NULL constraint (Any row can contain a null value for this column.)

NOT NULL

constraint

Page 22: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

NOT NULL CONSTRAINT

NOT NULL ตองระบแบบ column level เทานน

CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL,

...

Page 23: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

เงอนไขการก าหนดไมใหบนทกขอมลในคอลมนนน ๆ ซ า

อนญาต null

UNIQUE CONSTRAINT

EMPLOYEES UNIQUE constraint

INSERT INTO

Not allowed: already exists

Allowed

Page 24: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

UNIQUE CONSTRAINT

สามารถก าหนดไดทงในระดบ table level หรอ column level

CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25) ,salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL,

... CONSTRAINT emp_email_uk UNIQUE(email));

Page 25: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

PRIMARY KEY CONSTRAINT

DEPARTMENTS PRIMARY KEY

INSERT INTONot allowed(null value)

Not allowed (50 already exists)

Page 26: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

PRIMARY KEY CONSTRAINT

สามารถก าหนดไดทงในระดบ table level หรอ column level

CREATE TABLE employees(employee_id NUMBER(6) ,last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL,

...department_id NUMBER(4),

CONSTRAINT emp_employeeid_pk PRIMARY KEY (employee_id)

CONSTRAINT emp_email_uk UNIQUE(email));

Page 27: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

FOREIGN KEY CONSTRAINT

DEPARTMENTS

EMPLOYEES

FOREIGN KEY

INSERT INTONot allowed(9 does not exist)

Allowed

PRIMARY KEY

Page 28: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

FOREIGN KEY CONSTRAINT

สามารถก าหนดไดทงในระดบ table level หรอ column level

CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL,

...department_id NUMBER(4),CONSTRAINT emp_dept_fk FOREIGN KEY (department_id)REFERENCES departments(department_id) ,CONSTRAINT emp_email_uk UNIQUE(email));

Page 29: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

FOREIGN KEY CONSTRAINT: KEYWORDS

FOREIGN KEY: ก าหนดคอลมนในตารางรอง เงอนไขในระดบตาราง

REFERENCES: ระบตารางและคอลมนในตารางหลก

ON DELETE CASCADE: การลบขอมลในตารางหลก ตารางรองจะถกลบตามโดยอตโนมต

ON DELETE SET NULL: เปลยนคา foreign key ในตารางรอง เมอตารางหลกถกลบขอมล ใหเปนคาวาง (null)

CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,

...department_id NUMBER(4),CONSTRAINT emp_dept_fk FOREIGN KEY (department_id)REFERENCES departments(department_id) ON DELETE CASCADE

);

Page 30: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ก าหนดเงอนไขในแตละคอลมน เพอใหเขากบเงอนไขทก าหนด

นพจนตอไปน ไมสามารถใชในการก าหนดเงอนไขได• การอางถงค าสง CURRVAL, NEXTVAL, LEVEL และ ROWNUM

• การเรยกใช SYSDATE, UID, USER และ USERENV functions

• การควรขอมลทอางไปยงคาขอมลในแถวอน ๆ

CHECK CONSTRAINT

..., salary NUMBER(2)CONSTRAINT emp_salary_min CHECK (salary > 0),...

Page 31: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

CREATE TABLE: EXAMPLE

CREATE TABLE employees

( employee_id NUMBER(6)

CONSTRAINT emp_employee_id PRIMARY KEY

,first_name VARCHAR2(20)

,last_name VARCHAR2(25)

CONSTRAINT emp_last_name_nn NOT NULL

, email VARCHAR2(25)

CONSTRAINT emp_email_nn NOT NULL

CONSTRAINT emp_email_uk UNIQUE

, phone_number VARCHAR2(20)

, hire_date DATE

CONSTRAINT emp_hire_date_nn NOT NULL

, job_id VARCHAR2(10)

CONSTRAINT emp_job_nn NOT NULL

, salary NUMBER(8,2)

CONSTRAINT emp_salary_ck CHECK (salary>0)

, commission_pct NUMBER(2,2)

, manager_id NUMBER(6)

CONSTRAINT emp_manager_fk REFERENCES

employees (employee_id)

, department_id NUMBER(4)

CONSTRAINT emp_dept_fk REFERENCES

departments (department_id));

Page 32: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

UPDATE employeesSET department_id = 55WHERE department_id = 90;

VIOLATING CONSTRAINTS

Department 55 does not exist.

Page 33: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ค าสงในการลบขอมลน จะไมสามารถลบขอมลไดเนองจาก เงอนไขของขอมลทเปนคยนอก (department_id) ไปยงตารางอน ๆ เนองจากไมไดก าหนด DELETE CASCADE

VIOLATING CONSTRAINTS

DELETE FROM departmentsWHERE department_id = 60;

Page 34: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

การสรางตารางโดยเพมขอมลไปดวย ซงจะเปนการผสมระหวางค าสงในการสรางตารางและค าสงควรขอมล ดงรปแบบ

จบคจ านวนคอลมนของตาราง กบ จ านวนคอลมนของควร

ก าหนดชอคอลมนและคาเรมตนใหแตละคอลมน

ปรากฎขอมลจากการ select เกบในตาราง

CREATING A TABLE USING A SUBQUERY

CREATE TABLE table[(column, column...)]

AS subquery;

Page 35: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

CREATE TABLE dept80AS

SELECT employee_id, last_name, salary*12 ANNSAL, hire_date

FROM employeesWHERE department_id = 80;

CREATING A TABLE USING A SUBQUERY

DESCRIBE dept80

Page 36: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ALTER TABLE STATEMENT

การใชค าสง ALTER TABLE• ส าหรบเพมคอลมนใหม (Add new column)• ส าหรบการแกไขคอลมนทมอย (Modified column)• ก าหนดคาเรมตนของคอลมนใหม• ลบคอลมน (Drop a column)• การเปลยนชอคอลมน (Rename a column)• เปลยนตารางใหสามารถอานไดอยางเดยว (read-only)

- ALTER TABLE …. READ ONLY

Page 37: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

RENAMING A TABLE

การเปลยนชอตาราง

การเปลยนชอคอลมน

RENAME old_table_name TO new_table_name;

ALTER TABLE tablenameRENAME COLUMN old_name TO new_name;

Page 38: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ALTERING TABLES

การเพมคอลมนในตาราง

Example

ALTER TABLE tablenameADD (fieldname field_specification);

ALTER TABLE Faculty ADD(start_date Date);

Page 39: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ALTERING TABLES

การแกไขคอลมน

Example

ALTER TABLE tablenameMODIFY (fieldname new_field_specification);

ALTER TABLE Faculty MODIFY(f_name Varchar2(50));

Page 40: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ALTERING TABLES

การลบคอลมน

Example

ALTER TABLE tablenameDROP COLUMN fieldname;

ALTER TABLE Faculty DROP(start_date);

Page 41: LEC 01: ทบทวนความรู้เรื่องระบบ SAYAN ... · 2017-09-08 · ความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า

ค าสงในการลบตาราง

ลบทงตารางและขอมลทงหมด ถามค าสง PURGE clause

ท าให objects ทขนอยกบตารางทลบใชไมได และ ถกลบสทธตามไปดวย

DROPPING A TABLE

DROP TABLE dept80;