日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库入门开发案例,真的是入门级别的!!看了不后悔。

發布時間:2023/12/15 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库入门开发案例,真的是入门级别的!!看了不后悔。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先我們先討論實體之間的聯系怎么表示

1.數據庫中一對一的實現方式:

(如一個學生對應一個檔案,一個檔案對應一個學生。學生表為A表,檔案表為B表)

  • 唯一外鍵方式:在A和B任意一表中添加唯一外鍵(注意是添加完外鍵后,再點唯一鍵,進行設置)具體方式點此。
  • 主鍵關聯方式:當A和B的主鍵相同時,我們就認為是一組數據。(注意是“我們就認為”,數據庫中并沒有提供主鍵關聯的約束方式。)
  • 中間關系表:創建一張新表作為中間關系表,兩個列分別記錄A和B,并且每一列的取值中,值均不能重復(即將這兩列均設置為唯一外鍵,注意:將這兩列“既設置為主鍵,又設置為外鍵”的方式不能實現該功能,因為可能會出現一列相等而另一列不相等的情況)。
2.數據庫中一對多的實現方式:

(如一個班級對應多個學生)

  • 1 在多的一方添加外鍵:在學生表中添加一列,記錄該學生是哪一個班的,該列設置成外鍵,取值為班級表的主鍵。
  • 2 建立中間表:創建一個新表,該表至少有兩列,分別記錄學生和班級。學生列要設置成為“外鍵+唯一鍵”,以防有兩行數據的學生列的值一樣(防止一個學生有兩個班級的情況出現)。班級列不必設置成唯一鍵,設置成為外鍵即可,因為不同學生可以有一樣的班級。
3.數據庫中多對多實現方式:

(學生和課程:一個學生可以選多門課,一門課可以由多個學生選)

  • 1 建立中間關系表:新建一張表,一列記錄學生,一列記錄課程。兩列均為外鍵,一列取值為學生表中的唯一標識,一列取值為課程中的唯一標識。兩列不用設置成為唯一鍵,因為每一列中均可有重復,但不能有兩行數據在兩列上完全重復。所以將兩列均設置成為主鍵+外鍵(即聯合主鍵+外鍵)
然后我們給出案例

案例情景:

  • 1)針對某個高校,開發一個學生成績管理系統,要求設計出ER圖。
  • 2)針對目前疫情的情況,為某個小區設計一個人員管理的系統。
  • 3)為教務處開發一個教室管理的系統。

數據庫ER圖:

  • 學生成績管理系統:
  • 小區人員管理系統:
  • 教室管理系統:
  • 實現原理:

  • 學生成績管理系統:
    • 關系模式:Student(Sid,Sname,Sgrade,Sclass,Smajor,Ssex):學生信息表 Teacher(Tid,Tname,Tdep):教師信息表 Course(Cid,Cno,Cname,Cscore):課程信息表 TC(Tid,Cid,Cno):教師課程關系表 (均為外碼) SC(Sid,Cid,Cno,Scj):學生課程成績關系表(均為外碼)
  • MySQL數據庫實現:
  • Creat database StuGrade; use StuGrade --建立一個學生信息表 CREATE TABLE Student (Sid CHAR(10) PRIMARY KEY,--主碼Sname CHAR(10),Sgrade INT,Sclass SMALLINT,Smajor CHAR(10),Ssex BOOLEAN ); --建立一個教師信息表 CREATE TABLE Teacher (Tid CHAR(10) PRIMARY KEY,--主碼Tname CHAR(10),Tdep CHAR(10) ); --建立一個課程信息表 CREATE TABLE Course (Cid CHAR(10),Cno CHAR(10),Cname CHAR(10),Cscore SMALLINT ,PRIMARY KEY (Cid,Cno)--主碼 );--建立一個師課程關系表 CREATE TABLE TC (Tid CHAR(10) ,--主碼Cid CHAR(10),Cno CHAR(10),PRIMARY KEY (Tid,Cid,Cno),FOREIGN KEY (Tid) REFERENCES Teacher(Tid),FOREIGN KEY (Cid) REFERENCES Course(Cid),FOREIGN KEY (Cno) REFERENCES Course(Cno) ); --建立一個學生課程成績關系表 CREATE TABLE SC (Sid CHAR(10),Cid CHAR(10),Cno CHAR(10),Scj SMALLINT,PRIMARY KEY (Sid,Cid,Cno),FOREIGN KEY (Sid) REFERENCES Student(Sid),FOREIGN KEY (Cid) REFERENCES Course(Cid),FOREIGN KEY (Cno) REFERENCES Course(Cno) );

    2. 小區人員管理系統:

  • 關系模式:

    Investigator(Iid,Iname,Ipho):物業人員信息表 LocalPeople(LPid,LPname,LPpho,LPentertmp,LPwh):小區常住人員 信息表 ForeignPeoPle(FPid,FPname,FPpho,FPtmp,FPperp):外來人員信息表 Estate(Ecode,Eno,Eentra,Eloc):住房信息 FtoL(FPid,LPid):訪問關系信息表,均為外碼 ImE(Iid,Eno):管理關系,間接管理住戶 LlE(Lid,Ecode):居住關系
  • MySQL數據庫實現:

  • Creat database EstManage; use EstManage --建立一個 物業人員信息表 CREATE TABLE Investigator (FPid CHAR(10) PRIMARY KEY ,FPpho CHAR(10),FPtmp CHAR(10),FPperp CHAR(200), ); --建立一個 小區常住人員信息表 CREATE TABLE LocalPeople (LPid CHAR(10) PRIMARY KEY ,LPname CHAR(10),LPpho CHAR(10),LPentertmp SMALLINT,LPwh boolean ); --建立一個外來人員信息表 CREATE TABLE ForeignPeoPle (FPid CHAR(10) PRIMARY KEY ,FPname CHAR(10),FPpho CHAR(10),FPtmp CHAR(10),FPperp CHAR(10) ); --建立一個 住房信息表 CREATE TABLE Estate (Ecode CHAR(10) PRIMARY KEY ,Eno CHAR(10) ,Eentra CHAR(10) ,Eloc CHAR(10) );--建立一個訪問關系信息表 關系表 CREATE TABLE FtoL (FPid CHAR(10),LPid CHAR(10),PRIMARY KEY (FPid,LPid),FOREIGN KEY (FPid) REFERENCES ForeignPeoPle(FPid),FOREIGN KEY (LPid) REFERENCES LocalPeople(LPid)); --建立一個管理關系表 CREATE TABLE ImE (Iid CHAR(10),Eno CHAR(10),PRIMARY KEY (Iid,Eno),FOREIGN KEY (Iid) REFERENCES Investigator(Iid),FOREIGN KEY (Eno) REFERENCES Estate(Eno),); --建立居住關系表 CREATE TABLE LlE (Lid CHAR(10),Ecode CHAR(10),PRIMARY KEY (Lid,Ecode),FOREIGN KEY (Lid) REFERENCES Teacher(Lid),FOREIGN KEY (Ecode) REFERENCES Course(Ecode),);

    3.教室管理系統:

  • 關系模式:
  • Student(Sid,Sname,Sacademy):學生信息表Course(Cno,Cname,Cscore,Cqual,Tname):課程信息表 Classroom(CRno,CRstatus,CRtype):教室信息表Building(Bno,Bname,Bsum):教學樓信息表Campus(CPno,CPname,CPlocation):校區信息表STC(Cno,CRno,Bno,Udate,UTime):課程與教室使用關系表SCR(Sid,CRno,Bno Udate,UTime):學生借用教室關系表
  • MySQL數據庫實現:
  • Creat database ClassManage; use ClassManage --建立一個學生信息表 CREATE TABLE Student (Sid CHAR(10) PRIMARY KEY,Sname CHAR(10),Sacademy CHAR(10) ); --建立一個 課程信息表 CREATE TABLE Course (Cno CHAR(10) PRIMARY KEY,Cname CHAR(10),Cscore CHAR(10),Cqual CHAR(10),Tname CHAR(10) );--建立一個 教室信息表 CREATE TABLE Classroom (CRno CHAR(10) PRIMARY KEY,CRstatus CHAR(10),CRtype CHAR(10) ); --建立一個 教學樓信息表 CREATE TABLE Building (Bno CHAR(10) PRIMARY KEY,Bname CHAR(10),Bsum CHAR(10) ); --建立一個 校區信息表 CREATE TABLE Campus (CPno CHAR(10)PRIMARY KEY,CPname CHAR(10),CPlocation CHAR(10) ); --建立一個 課程與教室使用關系表 CREATE TABLE STC (Cno CHAR(10),CRno CHAR (10),Bno CHAR (10),Udate DATE,UTime TIME,PRIMARY KEY (Cno,CRno,Bno,Udate,UTime),FOREIGN KEY (Cno) REFERENCES Course(Cno),FOREIGN KEY (CRno) REFERENCES Classroom(CRno),FOREIGN KEY (Bno) REFERENCES Building(Bno)); --建立一個 學生借用教室關系表 CREATE TABLE SCR (Sid CHAR(10),CRno CHAR(10),Bno CHAR(10),Udate DATE,UTime TIME,PRIMARY KEY (Sid,CRno,Bno,Udate,UTime),FOREIGN KEY (Sid) REFERENCES Student(Sid),FOREIGN KEY (CRno) REFERENCES Classroom(CRno),FOREIGN KEY (Bno) REFERENCES Building(Bno));

    寫在最后:
    Name:風骨散人,喜歡碼代碼,碼字,目前是一名雙非在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!名字的來源:我想有一天我能有能力隨心所欲不逾矩,不總是向生活低頭,有能力讓家人擁有富足的生活而不是為了生計而到處奔波。
    文章主要內容:
    Python,C++,C語言,JAVA,C#等語言的教程
    ACM題解、模板、算法等,主要是數據結構,數學和圖論
    設計模式,數據庫,計算機網絡,操作系統,計算機組成原理
    Python爬蟲、深度學習、機器學習
    計算機系408考研的所有專業課內容
    一些程序猿常用的軟件或者黑科技什么的
    目前還在更新中,先關注不迷路。微信公眾號,cnblogs(博客園),CSDN同名“風骨散人”

    如果有什么想看的,可以私信我,如果在能力范圍內,我會發布相應的博文!
    感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!

    總結

    以上是生活随笔為你收集整理的数据库入门开发案例,真的是入门级别的!!看了不后悔。的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。