我在本學(xué)期的數(shù)據(jù)庫課程中,學(xué)習(xí)了如何使用MySQL數(shù)據(jù)庫。期末大作業(yè)要求我們設(shè)計(jì)并實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫應(yīng)用。
我選擇了設(shè)計(jì)一個(gè)團(tuán)隊(duì)協(xié)作工具的數(shù)據(jù)庫應(yīng)用。這個(gè)應(yīng)用可以記錄團(tuán)隊(duì)成員的個(gè)人信息、分配任務(wù)、發(fā)布公告和存儲項(xiàng)目文檔。
首先,我創(chuàng)建了一個(gè)名為team的數(shù)據(jù)庫,并創(chuàng)建了以下四個(gè)表格:
CREATE TABLE person ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, phone VARCHAR(15) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE task ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, deadline DATE NOT NULL, description TEXT, assigned_to INT NOT NULL, PRIMARY KEY (id), FOREIGN KEY (assigned_to) REFERENCES person(id) ); CREATE TABLE notice ( id INT NOT NULL AUTO_INCREMENT, title VARCHAR(50) NOT NULL, date DATE NOT NULL, content TEXT, PRIMARY KEY (id) ); CREATE TABLE document ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, path VARCHAR(255) NOT NULL, uploaded_by INT NOT NULL, PRIMARY KEY (id), FOREIGN KEY (uploaded_by) REFERENCES person(id) );
person表格用于存儲團(tuán)隊(duì)成員的個(gè)人信息。其中,id字段是主鍵,name、email和phone字段用于記錄姓名、電子郵件和電話號碼。
task表格用于存儲任務(wù)的詳細(xì)信息。其中,id字段是主鍵,name、deadline和description字段用于記錄任務(wù)名稱、截止日期和任務(wù)描述,assigned_to字段是一個(gè)外鍵,用于記錄該任務(wù)分配給哪個(gè)團(tuán)隊(duì)成員。
notice表格用于存儲公告的詳細(xì)信息。其中,id字段是主鍵,title、date和content字段用于記錄公告標(biāo)題、發(fā)布日期和公告內(nèi)容。
document表格用于存儲項(xiàng)目文檔的詳細(xì)信息。其中,id字段是主鍵,name和path字段用于記錄文檔名稱和路徑,uploaded_by字段是一個(gè)外鍵,用于記錄上傳文檔的團(tuán)隊(duì)成員。
通過這些表格,我可以快速找到特定團(tuán)隊(duì)成員的信息、檢索任務(wù)的詳細(xì)信息、查看公告和文檔的內(nèi)容。