‫תרגול‬‫פרק‬8–DDL
1.‫צרו‬‫את‬‫הטבלאות‬‫הבאות‬
‫טבלת‬‫ספרים‬–Books
‫שם‬‫עמודה‬‫סוג‬‫עמודה‬‫אילוץ‬‫הערות‬
Book_idNumber(4)PK
Book_nameVarchar2(25)UNIQUE
Book_writerVarchar2(25)NN
Book_priceNumber(6,2)CHECK‫מחיר‬‫הספר‬‫ינוע‬‫בין‬
0‫ל‬5000
Book_locationVarchar2(25)CHECK‫הספר‬‫יכול‬‫להיות‬
‫באחד‬‫המדפים‬
‫הבאים‬‫בלבד‬A,B,
C
Book_publish_dateDateDEFAULT SYSDATE
Category_idNumber(4)FK‫מקושר‬‫לטבלת‬
CATEGORY
‫טבלת‬‫קטגוריות‬–Categories
‫שם‬‫עמודה‬‫סוג‬‫עמודה‬‫אילוץ‬‫הערות‬
Category_idNumber(4)PK
Category_nameVarchar2(25)UNIQUE
‫הכניסו‬‫לטבלה‬5‫ספרים‬‫ו‬2‫קטגוריות‬
2.‫צרו‬‫את‬‫הטבלאות‬‫הבאות‬
‫טבלת‬‫סטודנטים‬–StudentsTAU
‫שם‬‫עמודה‬‫סוג‬‫עמודה‬‫אילוץ‬‫הערות‬
Student_idNumber(4)PK
First_nameVarchar2(25)NN
Last_nameVarchar2(25)NN
Phone_numberVarchar2(25)UQ
EmailVarchar2(25)CHECK‫כתובת‬‫האימייל‬
‫חייבת‬‫לבוא‬
‫בתבנית‬‫הבאה‬
‘%@%.’
YearNumber(1)CHECK‫הסטודנט‬‫יכול‬
‫להיות‬‫רשום‬‫לשנה‬
1,2‫או‬3‫בלבד‬
Class_idNumber(4)FK‫מקושר‬‫לטבלת‬
Classes
‫טבלת‬‫חוגים‬–ClassesTAU
‫שם‬‫עמודה‬‫סוג‬‫עמודה‬‫אילוץ‬‫הערות‬
Class_idNumber(4)PK
Class_nameVarchar2(25)UQ
‫א‬.‫לטבלת‬ ‫חדשה‬ ‫עמודה‬ ‫הוסיפו‬ClassesTAU‫בשם‬class_floor‫מסוג‬Number(3)
‫ב‬.‫ל‬ ‫העמודה‬ ‫סוג‬ ‫את‬ ‫שנו‬Varchar2(10)
‫ג‬.‫ל‬ ‫תואמים‬ ‫בה‬ ‫הערכים‬ ‫אם‬ ‫בודק‬ ‫אשר‬ ‫תנאי‬ ‫החדשה‬ ‫לעמודה‬ ‫הוסיפו‬A1‫או‬A2‫או‬A3‫או‬NULL
‫לאילוץ‬ ‫שם‬ ‫מתן‬ ‫על‬ ‫הקפידו‬
‫ד‬.‫מהטבלה‬ ‫האילוץ‬ ‫את‬ ‫מחקו‬
‫ה‬.‫העמודה‬ ‫את‬ ‫מחקו‬
‫פתרונות‬‫פרק‬8–DDL
1.
CREATE TABLE Categories
(Category_id Number(4) CONSTRAINT cat_id_pk PRIMARY KEY ,
Category_name Varchar2(25) CONSTRAINT cat_nam_uq UNIQUE)
CREATE TABLE Books
(Book_id Number(4) CONSTRAINT book_id_pk PRIMARY KEY,
Book_name Varchar2(25) CONSTRAINT book_nam_uq UNIQUE ,
Book_writer Varchar2(25) CONSTRAINT book_writ_nn NOT NULL ,
Book_price Number(6,2) CONSTRAINT book_prc_ck CHECK(book_price BETWEEN
0 AND 5000) ,
Book_location Varchar2(25) CONSTRAINT book_loc_ck CHECK(book_location IN
('A' , 'B' , 'C')) ,
Book_publish_date Date DEFAULT SYSDATE ,
Category_id Number(4) CONSTRAINT book_catid_fk REFERENCES
categories(category_id))
2.
CREATE TABLE classesTAU
(class_id number(4) CONSTRAINT clas_id_pk PRIMARY KEY ,
class_name varchar2(25) CONSTRAINT clas_nm_uq UNIQUE)
CREATE TABLE studentsTAU
(Student_id Number(4) CONSTRAINT stu_id_pk PRIMARY KEY,
First_name Varchar2(25) CONSTRAINT stu_fn_nn NOT NULL ,
Last_name Varchar2(25) CONSTRAINT stu_ln_nn NOT NULL ,
Phone_number Varchar2(25) CONSTRAINT stu_phn_uq UNIQUE ,
Email Varchar2(25) CONSTRAINT stu_eml_ck CHECK (email LIKE '%@%.') ,
Year Number(1) CONSTRAINT stu_yr_ck CHECK (year IN (1,2,3)) ,
Class_id Number(4) CONSTRAINT stu_cid_fk REFERENCES
classesTAU(class_id))
--A
ALTER TABLE classesTAU
ADD (class_floor number(3));
-- B
ALTER TABLE classesTAU
MODIFY (class_floor varchar2(10);
-- C
ALTER TABLE classesTAU
ADD (CONSTRAINT clas_fl_ck CHECK(class_floor IN ('A1' , 'A2' , 'A3') OR
class_floor IS NULL))
-- D
ALTER TABLE classesTAU
DROP CONSTRAINT clas_fl_ck
-- E
ALTER TABLE classesTAU
DROP COLUMN class_floor

DDL Practice (Hebrew)