CONSTRAINT?????????CREATE TABLE ??????ALTER TABLE ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(?????????????????????????????????????????????)??????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????0?????????????????????????????????
??????????????????NULL??????????????????????????????????????????(????????????????????????????????????????????????????????????????????????)
??????????????????????????????????????????????????????????????????????????????????????????NOT NULL?????????????????????????????????????????????
??????????????????????????????????????????????????????????????????NULL????????????????????????
???????????????????????????????????????????????????????????????NULL??????????????????????????????????????????????????????
???????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????NULL????????????????????????
?????????????????????????????????????????????????????????NOT NULL?????????????????????????????????????????????
????????????????????????????????????????????????????????????NULL??????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????PRIMARY KEY???UNIQUE???CHECK???FOREIGN KEY?????????????????????????????????????????????????????????(??????????????????????????????)?????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????NULL?????????????????????????????????????????????????????????NULL????????????????????????????????????????????????
???????????????NOT NULL????????????????????????????????????????????????ALTER TABLE ADD PRIMARY KEY ????????????????????????????????????????????????????????????NULL????????????????????????????????????NULL????????????????????????????????????????????????????????????????????????????????????????????????ALTER TABLE ?????????????????????????????????
?????????PRIMARY KEY?????????????????????????????????????????????????????????????????????UNIQUE?????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(??????????????????????????????????????????????????????????????????????????????????????????????????????????????????)?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????(??????????????????????????????????????????)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????)
?????????????????????????????????????????????????????????????????????????????????????????????????????????Derby???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????Derby??????????????????????????????????????????????????????????????????
?????????????????????(??????????????????????????????????????????????????????????????????????????????)????????????????????????????????????????????????????????????Derby???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????Derby???????????????????????????
Derby???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
UNIQUE???PRIMARY KEY???FOREIGN KEY??????????????????????????????????????????????????????????????????????????????????????????(????????????????????????????????????????????????????????????) UNIQUE?????????PRIMARY KEY??????????????????????????????????????????FOREIGN KEY??????????????????????????????????????????????????????????????????????????????????????????UNIQUE?????????PRIMARY KEY?????????FOREIGN KEY???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Derby?????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????(CREATE INDEX ?????????????????????????????????)??????????????????????????????????????????????????????????????????????????????????????????
???????????????DROP INDEX??????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(???????????????????????????)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????INSERT???UPDATE??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????CREATE TABLE??????????????????????????????????????????????????????????????????????????????
????????????????????????????????????(CASCADE???RESTRICT???SET NULL?????????NO ACTION)????????????????????????ON DELETE??????/???ON UPDATE??????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????NO ACTION????????????RESTRICT?????????
????????????????????????????????????????????????????????????RESTRICT?????????????????????Derby??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????NO ACTION?????????????????????Derby????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????NO ACTION??????????????????NO ACTION?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????NO ACTION???RESTRICT???CASCADE????????????SET NULL?????????SET NULL????????????????????????????????????null??????????????????????????????????????????????????????????????????
???????????????????????????
NO ACTION??????Derby??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
RESTRICT?????????Derby???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
CASCADE???????????????????????????????????????????????????(????????????????????????????????????????????????????????????)
SET NULL???????????????????????????????????????????????????????????????????????????????????????(?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????)
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????RESTRICT???NO ACTION?????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????RESTRICT???NO ACTION????????????????????????????????????????????????????????????
-- OUT_TRAY_PK????????????????????????????????????????????????:
CREATE TABLE SAMP.OUT_TRAY
(
SENT TIMESTAMP,
DESTINATION CHAR(8),
SUBJECT CHAR(64) NOT NULL CONSTRAINT OUT_TRAY_PK PRIMARY KEY,
NOTE_TEXT VARCHAR(3000)
);
-- ???????????????????????????????????????????????????
-- ???????????????????????????????????????
CREATE TABLE SAMP.SCHED
(
CLASS_CODE CHAR(7) NOT NULL,
DAY SMALLINT NOT NULL,
STARTING TIME,
ENDING TIME,
PRIMARY KEY (CLASS_CODE, DAY)
);
-- ?????????????????????????????????????????????????????????????????????
-- ??????????????????????????????????????????????????????????????????????????????????????????
-- ???????????????
CREATE TABLE SAMP.EMP
(
EMPNO CHAR(6) NOT NULL CONSTRAINT EMP_PK PRIMARY KEY,
FIRSTNME CHAR(12) NOT NULL,
MIDINIT vARCHAR(12) NOT NULL,
LASTNAME VARCHAR(15) NOT NULL,
SALARY DECIMAL(9,2) CONSTRAINT SAL_CK CHECK (SALARY >= 10000),
BONUS DECIMAL(9,2),
TAX DECIMAL(9,2),
CONSTRAINT BONUS_CK CHECK (BONUS > TAX)
);
-- MEAL??????????????????????????????????????????????????????????????????????????????
CREATE TABLE FLIGHTS
(
FLIGHT_ID CHAR(6) NOT NULL ,
SEGMENT_NUMBER INTEGER NOT NULL ,
ORIG_AIRPORT CHAR(3),
DEPART_TIME TIME,
DEST_AIRPORT CHAR(3),
ARRIVE_TIME TIME,
MEAL CHAR(1) CONSTRAINT MEAL_CONSTRAINT
CHECK (MEAL IN ('B', 'L', 'D', 'S')),
PRIMARY KEY (FLIGHT_ID, SEGMENT_NUMBER)
);
CREATE TABLE METROPOLITAN
(
HOTEL_ID INT NOT NULL CONSTRAINT HOTELS_PK PRIMARY KEY,
HOTEL_NAME VARCHAR(40) NOT NULL,
CITY_ID INT CONSTRAINT METRO_FK REFERENCES CITIES
);
-- ????????????????????????????????????????????????????????????????????????????????????
-- ????????????????????????
CREATE TABLE FLTAVAIL
(
FLIGHT_ID CHAR(6) NOT NULL,
SEGMENT_NUMBER INT NOT NULL,
FLIGHT_DATE DATE NOT NULL,
ECONOMY_SEATS_TAKEN INT,
BUSINESS_SEATS_TAKEN INT,
FIRSTCLASS_SEATS_TAKEN INT,
CONSTRAINT FLTAVAIL_PK PRIMARY KEY (FLIGHT_ID, SEGMENT_NUMBER),
CONSTRAINT FLTS_FK
FOREIGN KEY (FLIGHT_ID, SEGMENT_NUMBER)
REFERENCES Flights (FLIGHT_ID, SEGMENT_NUMBER)
);
-- ????????????????????????????????????
ALTER TABLE SAMP.PROJECT
ADD CONSTRAINT P_UC UNIQUE (PROJNAME);
-- ???????????????????????????????????????????????????
-- city_id??????Cities???????????????????????????????????????????????????
CREATE TABLE CONDOS
(
CONDO_ID INT NOT NULL CONSTRAINT hotels_PK PRIMARY KEY,
CONDO_NAME VARCHAR(40) NOT NULL,
CITY_ID INT CONSTRAINT city_foreign_key
REFERENCES Cities ON DELETE CASCADE ON UPDATE RESTRICT
);
INSERT??????UPDATE???????????????????????????????????????????????????????????? DELETE??????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????