Day9 建表

考試作業(yè)系統(tǒng) ER 圖

ER 圖

create_table.sql

-- 1 Department 部門(mén)
CREATE TABLE tbl_exam_department (
  ID    NUMBER(20) PRIMARY KEY,
  Title VARCHAR2(255) NULL
);

-- 2 User 用戶(hù)
-- 外鍵 2.1 多個(gè)用戶(hù)屬于一個(gè)部門(mén) User 添加 Depart_ID 作為外鍵
CREATE TABLE tbl_exam_user (
  ID            NUMBER(20) PRIMARY KEY,
  Name          VARCHAR2(255) NULL,
  Password      VARCHAR2(255) NULL,
  Telephone     VARCHAR2(255) NULL,
  Gender        VARCHAR2(255) NULL,
  Age           NUMBER(11)    NULL,
  Department_ID NUMBER(20) REFERENCES tbl_exam_department (ID)
  -- 設(shè)置外鍵較好的方式
  -- 這樣可以自定義外鍵的名字
  -- Department_id NUMBER(20),
  -- CONSTRAINT fk_user_department FOREIGN KEY (Department_id) REFERENCES tbl_exam_department (ID)
);

-- 3 Paper 試卷
-- 外鍵 3.1 多個(gè)試卷屬于一個(gè)部門(mén)出的 Paper 添加 Depart_ID 作為外鍵
-- 外鍵 3.2 多個(gè)試卷屬于一個(gè)用戶(hù)出的 Paper 添加 User_ID 作為外鍵
CREATE TABLE tbl_exam_paper (
  ID                 NUMBER(20) PRIMARY KEY,
  Type               VARCHAR2(255)    NULL,
  Title              VARCHAR2(255)    NULL,
  Description        VARCHAR2(255)    NULL,
  TotalPoints        NUMBER(11)       NULL,
  CreateTime         DATE             NULL,
  AnswerQuestionTime DOUBLE PRECISION NULL,
  Department_ID      NUMBER(20) REFERENCES tbl_exam_department (ID),
  User_ID            NUMBER(20) REFERENCES tbl_exam_user (ID)
);

-- 4 Topic 知識(shí)點(diǎn)
-- 外鍵 4.1
-- 多個(gè)知識(shí)點(diǎn)屬于一個(gè)部門(mén)出的
-- Topic 添加 Depart_ID 作為外鍵
CREATE TABLE tbl_exam_topic (
  ID            NUMBER(20) PRIMARY KEY,
  Title         VARCHAR2(255) NULL,
  Department_ID NUMBER(20) REFERENCES tbl_exam_department (ID)
);

-- 5 SubjectType 題目類(lèi)型
CREATE TABLE tbl_exam_subjecttype (
  ID       NUMBER(20) PRIMARY KEY,
  Name     VARCHAR2(255) NULL,
  RealName VARCHAR2(255) NULL
);

-- 6 SubjectLevel 題目難度
CREATE TABLE tbl_exam_subjectlevel (
  ID       NUMBER(20) PRIMARY KEY,
  Name     VARCHAR2(255) NULL,
  RealName VARCHAR2(255) NULL
);

-- 7 Subject 題目
-- 外鍵 7.1 多個(gè)題目屬于一個(gè)用戶(hù)出的  Subject 添加 User_ID 作為外鍵
-- 外鍵 7.2 多個(gè)題目屬于一個(gè)部門(mén)出的  Subject 添加 Depart_ID 作為外鍵
-- 外鍵 7.3 多個(gè)題目屬于一個(gè)的知識(shí)點(diǎn)  Subject 添加 Topic_ID 作為外鍵
-- 外鍵 7.4 多個(gè)題目屬于一個(gè)題目類(lèi)型  Subject 添加 SubjectType_ID 作為外鍵
-- 外鍵 7.5 多個(gè)題目屬于一個(gè)題目難度  Subject 添加 SubjectLevel_ID 作為外鍵
CREATE TABLE tbl_exam_subject (
  ID              NUMBER(20) PRIMARY KEY,
  Stem            VARCHAR2(255) NULL,
  UploadTime      DATE          NULL,
  Answer          VARCHAR2(255) NULL,
  Analysis        VARCHAR2(255) NULL,
  CheckState      VARCHAR2(255) NULL,
  User_ID         NUMBER(20) REFERENCES tbl_exam_user (ID),
  Department_ID   NUMBER(20) REFERENCES tbl_exam_department (ID),
  Topic_ID        NUMBER(20) REFERENCES tbl_exam_topic (ID),
  SubjectType_ID  NUMBER(20) REFERENCES tbl_exam_subjecttype (ID),
  SubjectLevel_ID NUMBER(20) REFERENCES tbl_exam_subjectlevel (ID)
);

-- 8 Choice 選項(xiàng)
-- 外鍵 8.1 多個(gè)選項(xiàng)屬于一個(gè)題目  Choice 添加 Subject_ID 作為外鍵
CREATE TABLE tbl_exam_choice (
  ID         NUMBER(20) PRIMARY KEY,
  Content    VARCHAR2(255) NULL,
  Correct    NUMBER(1)     NULL,
  Subject_ID NUMBER(20) REFERENCES tbl_exam_subject (ID)
);

-- 9 PaperSubject 橋表
-- 外鍵 9.1 橋表添加 Paper_ID 作為外鍵
-- 外鍵 9.2 橋表添加 Subject_ID 作為外鍵
CREATE TABLE tbl_exam_papersubject (
  ID         NUMBER(20) PRIMARY KEY,
  Score      NUMBER(11),
  Paper_ID   NUMBER(20) REFERENCES tbl_exam_paper (ID),
  Subject_ID NUMBER(20) REFERENCES tbl_exam_subject (ID)
);

注意:如果只建立外鍵約束逮刨,而不在表中建立外鍵列,會(huì)使得不方便查詢(xún)昌渤。
比如 User 表湿镀,如果不建立 Depart_ID 外鍵列,就不好查詢(xún) user 屬于哪個(gè) Department姿染。

insert_table.sql

-- 部門(mén)
INSERT INTO tbl_exam_department VALUES (1, 'WebUI');
INSERT INTO tbl_exam_department VALUES (2, 'JavaEE');
INSERT INTO tbl_exam_department VALUES (3, '大數(shù)據(jù)');
INSERT INTO tbl_exam_department VALUES (4, 'Android');
INSERT INTO tbl_exam_department VALUES (5, 'PHP');
INSERT INTO tbl_exam_department VALUES (6, 'IOS');

-- 用戶(hù)
INSERT INTO TBL_EXAM_USER VALUES (1, 'shuai', 'shuai', '12345', 'male', 21, 1);
INSERT INTO TBL_EXAM_USER VALUES (2, 'stark', 'stark', '12345', 'male', 21, 2);
INSERT INTO TBL_EXAM_USER VALUES (3, 'snow', 'snow', '12345', 'male', 21, 3);

-- 知識(shí)點(diǎn)
INSERT INTO tbl_exam_topic VALUES (1, 'HTML', 1);
INSERT INTO tbl_exam_topic VALUES (2, 'JavaScript', 1);
INSERT INTO tbl_exam_topic VALUES (3, 'CSS', 1);
INSERT INTO tbl_exam_topic VALUES (4, 'jQuery', 1);
INSERT INTO tbl_exam_topic VALUES (5, 'Bootstrap', 1);
INSERT INTO tbl_exam_topic VALUES (6, 'CoreJava', 2);
INSERT INTO tbl_exam_topic VALUES (7, 'XML', 2);
INSERT INTO tbl_exam_topic VALUES (8, 'Servlet/JSP', 2);

-- 題目類(lèi)型
INSERT INTO tbl_exam_subjecttype VALUES (1, 'radio', '單選題');
INSERT INTO tbl_exam_subjecttype VALUES (2, 'check', '復(fù)選題');
INSERT INTO tbl_exam_subjecttype VALUES (3, 'question', '簡(jiǎn)答題');

-- 題目難度
INSERT INTO tbl_exam_subjectlevel VALUES (1, 'easy', '簡(jiǎn)單');
INSERT INTO tbl_exam_subjectlevel VALUES (2, 'medium', '中等');
INSERT INTO tbl_exam_subjectlevel VALUES (3, 'difficult', '難');

-- 題目
INSERT INTO tbl_exam_subject VALUES
  (1, 'Java中的基本數(shù)據(jù)類(lèi)型有哪些', '', '8種基本數(shù)據(jù)類(lèi)型', 'byte,short,int,long,float,double,char,boolean', '未審核', 1, 2, 6, 3,
      1);
INSERT INTO tbl_exam_subject VALUES (2, '下面哪種數(shù)據(jù)類(lèi)型占8個(gè)字節(jié)', '', '長(zhǎng)整型', '長(zhǎng)整型占8個(gè)字節(jié)', '未審核', 2, 2, 6, 3, 1);

-- 題目選項(xiàng)
INSERT INTO tbl_exam_choice VALUES (1, 'byte', 0, 2);
INSERT INTO tbl_exam_choice VALUES (2, 'short', 0, 2);
INSERT INTO tbl_exam_choice VALUES (3, 'int', 0, 2);
INSERT INTO tbl_exam_choice VALUES (4, 'long', 1, 2);

注意外鍵約束和插入表的順序背亥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盔粹,隨后出現(xiàn)的幾起案子隘梨,更是在濱河造成了極大的恐慌,老刑警劉巖舷嗡,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轴猎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡进萄,警方通過(guò)查閱死者的電腦和手機(jī)捻脖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)中鼠,“玉大人可婶,你說(shuō)我怎么就攤上這事≡停” “怎么了矛渴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我具温,道長(zhǎng)蚕涤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任铣猩,我火速辦了婚禮揖铜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘达皿。我一直安慰自己天吓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布峦椰。 她就那樣靜靜地躺著龄寞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪们何。 梳的紋絲不亂的頭發(fā)上萄焦,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音冤竹,去河邊找鬼拂封。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鹦蠕,可吹牛的內(nèi)容都是我干的冒签。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼钟病,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼萧恕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起肠阱,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤票唆,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后屹徘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體走趋,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年噪伊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了簿煌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鉴吹,死狀恐怖姨伟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豆励,我是刑警寧澤夺荒,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響般堆,放射性物質(zhì)發(fā)生泄漏在孝。R本人自食惡果不足惜诚啃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一淮摔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧始赎,春花似錦和橙、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至五辽,卻和暖如春办斑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杆逗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工乡翅, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人罪郊。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓蠕蚜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親悔橄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子靶累,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容