Εργαστήριο 2ο SQL - DDL Ιωάννα Συρίμη syrimi@ucy.ac.cy ΕΠΛ 342 – Βάσεις Δεδομένων Εργαστήριο 2ο SQL - DDL Ιωάννα Συρίμη syrimi@ucy.ac.cy
Τύποι Δεδομένων στην Οracle Number (p, s) Id_No Number(10) Price Number(8,2) Varchar2 (size) Ename varchar2(100) Comments varchar2(500) Char (size) Gender char(1) Country_of_Birth char(3) Date Date_of_Birth Date Default format ‘dd-mon-yyyy’-> 04-OCT-2003 ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
Data Definition Language Δημιουργία Πινάκων – Create Table Προγραμμάτων Χρηστών … Καταστροφή Πινάκων – Drop Table Αλλαγή Πινάκων – Alter Table ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
CREATE TABLE CREATE TABLE [schema.]table (ColumnName datatype [DEFAULT exp] [constraint] [, ColumnName datatype [DEFAULT exp] [constraint]…] [, RECORD CONSTRAINT] [, TABLE_CONSTRAINT] ) ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
CREATE TABLE CREATE TABLE student (student_id number(10) not null, name varchar2(60) not null, date_of_birth date, CONSTRAINT student_pk PRIMARY KEY (Student_id)) ή αλλιώς (student_id number(10) not null CONSTRAINT student_pk PRIMARY KEY, name varchar2(120) not null, date_of_birth date) ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
CREATE TABLE CREATE TABLE employees ( employee_id NUMBER(6) NOT NULL, first_name VARCHAR2(20) , last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25) NOT NULL, hire_date DATE DEFAULT SYSDATE NOT NULL, salary NUMBER(8,2) NOT NULL, department_id NUMBER(4), CONSTRAINT emp_salary_min CHECK (salary > 0) , CONSTRAINT emp_email_uk UNIQUE (email), CONSTRAINT employee_pk PRIMARY KEY (employee_id), CONSTRAINT employee_department_fk FOREIGN KEY (department_id) REFERENCES departments(department_id) ) ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
DROP TABLE DROP TABLE [schema.]table DROP TABLE Student Ο πίνακας θα καταστραφεί αν δεν υπάρχουν άλλοι πίνακες με foreign keys τα οποία αναφέρονται σε αυτόν ή υπάρχουν άλλοι πίνακες με foreign keys τα οποία αναφέρονται σε αυτόν αλλά δεν υπάρχουν εγγραφές στους πίνακες αυτούς ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
ALTER TABLE ALTER TABLE [schema.]table ( [ADD Column], [MODIFY Column Datatype], [DROP Column], [RENAME COLUMN Column TO NewColumn], [ADD CONSTRAINT Constraint_name Constraint_Condition], [DROP CONSTRAINT Constraint_name], [DISABLE CONSTRAINT Constraint_name], [ENABLE CONSTRAINT Constraint_name], ) ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
ALTER TABLE ALTER TABLE student ADD gender varchar2(1) not null CONSTRAINT gender_values CHECK (gender in (‘F’, ‘M’)) MODIFY name varchar2(120) ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
ALTER TABLE ALTER TABLE student RENAME COLUMN Name TO FName DROP COLUMN Date_of_Birth ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017
ALTER TABLE ALTER TABLE employees ADD Commission_prc number(7,2) default 0 not null ADD CONSTRAINT check_comp CHECK (salary + (commission_prc*salary) <= 5000) ΕΠΛ342-Βάσεις Δεδομένων 6/4/2017