1. <form id="vgd9k"></form><nav id="vgd9k"></nav>

    <wbr id="vgd9k"></wbr>

    1. <nav id="vgd9k"></nav>

            1. Java知識分享網 - 輕松學習從此開始!????

              Java知識分享網

              Java1234官方群25:java1234官方群25
              Java1234官方群25:838462530
                   

              GIT視頻教程(結合github,碼云)免費領取

              BAT一線大廠筆試面試打包下載

              java1234.vip企業級站點全新上線(可以領取站點源碼)

              SpringBoot打造企業級進銷存

              Java1234 VIP課程

              領取微信掃碼登錄Java實現視頻教程

              Java1234至尊VIP(特價活動)

              MySQL數據庫項目實戰 PDF 下載


              分享到:
              時間:2020-07-17 12:18來源:http://www.luygg.com 作者:小鋒  侵權舉報
              MySQL數據庫項目實戰 PDF 下載
              失效鏈接處理
              MySQL數據庫項目實戰  PDF 下載


              本站整理下載:
               
              相關截圖:
               
              主要內容:

              一、設計目的、步驟及要求
              1、設計目的
              本課程設計是完s成了“MySQL數據庫應用技術”課程教學后而進行的一次綜合性項目設計,也是對該課程技術應用的一個全面性實踐。
              本課程設計的基本目的是:
              1)系統學習MySQL數據庫的建立、管理和操作技術。
              2)熟練掌握T-SQL語句的數據查詢技術。
              3)掌握基于T-SQL語句的編程方法。
              4)掌握MySQL數據庫備份、導入和導出的方法。
               
              2、設計路線圖
               
                                                           
              3、設計要求
              系統環境要求:
              1)系統工作環境:Win7
              2)數據庫服務器環境:MySQL
              3)文檔編輯環境:Word 2007、Excel 2007和圖形編輯軟件
               
              設計質量要求:
              1)根據要求全面完成數據庫文檔和數據的創建。
              2)數據庫設計合理,數據類型選擇合適。
              3)各數據庫對象設計合理,程序代碼清晰。
              4)為程序提供清晰的注釋,以說明代碼的基本功能和設計思路,以增強程序的可讀性。
              5)完成項目設計說明書(2000字左右)。要求:能反映數據庫各個對象的基本設計思路,基本功能介紹和實現的核心代碼,以及設計心得。
              6)設計完成后提交如下文件:
              ①完整的SQL文件
              ②課程設計報告書
               
               
              二、設計內容
              1、設計內容
              課題:學生信息管理數據庫的創建和使用
              本課程設計要求完成一個以學生信息數據庫為管理對象的數據庫設計。
               
              任務一:
              1)創建數據庫
              創建學生信息管理數據庫gradem。
              CREATE DATABASE gradem;
              use gradem;
              2)創建數據表
              (1)在gradem數據庫中創建表1~表5所示結構的表。
              表1                      student表的表結構
              字段名稱 數據類型 長度 小數位數 是否允許NULL值 說明
              sno char 10 主碼
              sname varchar 8
              ssex char 3
              sbirthday datetime
              saddress varchar 50
              sdept char 16
              speciality varchar 20
               
              CREATE TABLE student
              (
                sno char(10) not null,
                sname varchar(8),
                ssex char(3),
                birthday datetime,
                saddress varchar(50),
                sdept char(16),
                speciality varchar(20),
                CONSTRAINT pk01 PRIMARY key (sno) 
              )
              表2                course表(課程名稱表)的表結構
              字段名稱 數據類型 長度 小數位數 是否允許NULL值 說明
              cno char 5 主碼
              cname varchar 20
               
              CREATE TABLE course
              (
                 cno char(5) not null,
                 cname varchar(20) not null,
                 CONSTRAINT pk02 PRIMARY key (cno)
              )
               
               
               
              表3                  sc表(成績表)的表結構
              字段名稱 數據類型 長度 小數位數 是否允許NULL值 說明
              sno char 10 組合主碼、外碼
              cno char 5 組合主碼、外碼
              degree decimal
               
              CREATE TABLE sc
              (
                sno char(10) not null,
                cno char(5) not null,
                degree decimal,
                CONSTRAINT pk03 PRIMARY key (sno,cno),
                CONSTRAINT fk01 FOREIGN key (sno) REFERENCES student (sno),
                CONSTRAINT fk02 FOREIGN key (cno) REFERENCES course (cno)
              )
               
              表4               teacher表(教師表)的表結構
              字段名稱 數據類型 長度 小數位數 是否允許NULL值 說明
              tno char 3 主碼
              tname varchar 8
              tsex char 3
              tbirthday date
              tdept char 16
              create TABLE teacher
              (
                tno char(3) not null,
                tname varchar(8),
                tsex char(3),
                tbirthday date,
                tdept char(16),
                CONSTRAINT pk04 PRIMARY KEY (tno)
              );
               
               
               
              表5                teaching表(授課表)的表結構
              字段名稱 數據類型 長度 小數位數 是否允許NULL值 說明
              cno char 5 組合主碼、外碼
              tno char 3 組合主碼、外碼
              cterm tinyint 0
               
               
              CREATE TABLE teaching
              (
                cno char(5) not null,
                tno char(3) not null,
                cterm tinyint,
                CONSTRAINT pk05 PRIMARY KEY (cno,tno),
                CONSTRAINT fk03 FOREIGN KEY (cno) REFERENCES course (cno),
                CONSTRAINT fk04 FOREIGN KEY (tno) REFERENCES teacher(tno)
              )
               
               
               
               
              (2) 向表1至表5輸入數據記錄,見表6~表10。
              表6                           學生關系表student
              Sno sname ssex sbirthday saddress sdept speciality
              20050101 李勇 1987-01-12 山東濟南 計算機工程系 計算機應用
              20050201 劉晨 1988-06-04 山東青島 信息工程系 電子商務
              20050301 王敏 1989-12-23 江蘇蘇州 數學系 數學
              20050202 張立 1988-08-25 河北唐山 信息工程系 電子商務
              表7                            課程關系表course
              cno cname cno cname
              C01 數據庫 C03 信息系統
              C02 數學 C04 操作系統
              表8                                成績表sc
              sno cno degree
              20050101 C01 92
              20050101 C02 85
              20050101 C03 88
              20050201 C02 90
              20050201 C03 80
              表9 教師表teacher
              tno tname tsex tbirthday tdept
              101 李新 1977-01-12 計算機工程系
              102 錢軍 1968-06-04 計算機工程系
              201 王小花 1979-12-23 信息工程系
              202 張小青 1968-08-25 信息工程系
              表10                                     授課表teaching
              cno tno cterm
              C01 101 2
              C02 102 1
              C03 201 3
              C04 202 4
               
               
              (3) 修改表結構。
              ① 向student表中增加“入學時間”列,其數據類型為日期時間型。
              alter table student add 入學時間 datetime;
              ② 將student表中的sdept字段長度改為20。
              alter TABLE student MODIFY sdept char(20);
              ③ 將student表中的speciality字段刪除。
              ALTER TABLE student DROP COLUMN speciality;
              ④ 刪除student表。
              DROP TABLE student;
              (4) 利用SQL命令(create table、alter table、drop table)完成對表的操作
               
              ①利用create talbe 命令完成student表和course表的定義。
              CREATE TABLE student
              (
                sno char(10) not null,
                sname varchar(8),
                ssex char(3),
                birthday datetime,
                saddress varchar(50),
                sdept char(16),
                speciality varchar(20),
                CONSTRAINT pk01 PRIMARY key (sno) 
              )
               
              CREATE TABLE course
              (
                 cno char(5) not null,
                 cname varchar(20) not null,
                 CONSTRAINT pk02 PRIMARY key (cno)
              )
               
               
               
              ②利用drop table命令實現(3)中的④。
              DROP TABLE student;
               
              (5)對表進行數據的修改操作:
              ① 向Student表中插入記錄("20050203","張靜","1981-3-21","女","CS","電子商務")。
              INSERT into student (sno,sname,ssex,birthday,saddress,sdept) VALUES
              (
               20050203,'張靜','女','1981-3-21','CS','電子商務'
              );
              ② 插入學號為“20050302”、姓名為“李四”的學生信息。
              INSERT into student (sno,sname) VALUES
              (
               20050302,'李四'
              );
              ③ 將學號為“20050202”的學生姓名改為“張華”,系別改為“CS”,專業改為“多媒體技術”。
              UPDATE student SET sname='張華',saddress='多媒體技術' where sno=20050202;
              ④ 將“李勇”同學的專業改為“計算機信息管理”。
              UPDATE student SET sdept='計算機信息管理' WHERE sname='李勇';
              任務二:簡單數據查詢和分組排序
              在任務一種建立的gradem數據庫中完成下面查詢:
              簡單數據查詢:
              (1) 查詢所有學生的基本信息、所有課程的基本信息和所有學生的成績信息(用三條SQL語句)。
              SELECT * FROM student;
              SELECT * FROM  course;
              SELECT * from sc;
              (2) 查詢所有學生的學號、姓名、性別和出生日期。
              SELECT sno,sname,ssex,birthday from student;
              (3) 查詢所有課程的課程名稱。
              SELECT cname from course;
              (4) 查詢前10門課程的課號及課程名稱。
              SELECT cno,cname from course;
              (5) 查詢所有學生的姓名及年齡。
              SELECT sname 姓名,year(now())-year(birthday) as 年齡 from student;
              (6) 查詢所有年齡大于18歲的女生的學號和姓名。
              SELECT sno,sname from student WHERE ssex='女' and year(NOW())-year(birthday)>18;
               
              (7) 查詢所有男生的信息。
              SELECT * from student WHERE ssex='男';
              (8) 查詢所有任課教師的姓名(tname)和所在系別(tdept)。
              SELECT tname,tdept from teacher;
              (9) 查詢“電子商務”專業的學生姓名、性別和出生日期。
              SELECT sname,ssex,birthday from student WHERE sdept='電子商務';
              (10) 查詢Student表中的所有系名。
              SELECT saddress from student;
              (11) 查詢“C01”課程的開課學期。
              SELECT cterm from teaching WHERE cno='C01';
               
              (12) 查詢成績在80~90分之間的學生學號及課號。
              SELECT sno,cno from sc WHERE degree>=80 and degree<=90;
               
              (13) 查詢在1970年1月1日之前出生的男教師信息。
              SELECT * FROM teacher WHERE  tbirthday<'1970-01-01' and tsex='男';
               
              (14) 輸出有成績的學生學號。
              SELECT degree from sc WHERE degree>0;
               
              (15) 查詢所有姓“劉”的學生信息。
              SELECT *  from student where sname like'劉%';
               
              (16) 查詢生源地不是山東省的學生信息。
              SELECT * from student where saddress like'山東%';
               
              (17) 查詢成績為79分、89分或99分的記錄。
              SELECT * from sc where degree in(79,89,99);
               
              (18) 查詢名字中第二個字是“小”字的男生的學生姓名和地址。
              SELECT sname,saddress from student where sname like'_小';
               
              (19) 查詢名稱以“計算機”開頭的課程名稱。
              SELECT sdept from student where sdept like'計算機%';
               
              (20) 查詢計算機工程系和軟件工程系的學生信息。 
              SELECT * from student where sdept in('計算機工程系','軟件工程系');
               
               
              分組和排序:
              (1) 統計有學生選修的課程的門數。
              SELECT sno,count(cno) from sc GROUP BY sno;
              (2) 計算“c01”課程的平均成績。
              SELECT AVG(degree) from sc where cno='C01';
              (3) 查詢選修了“c03”課程的學生的學號及其成績,查詢結果按分數降序排列。
              SELECT sno,degree from sc where cno='C03' ORDER BY degree DESC;
               
              (4) 查詢各個課程號及相應的選課人數。
              SELECT course.cno,count(*) from course,sc,student where course.cno=sc.cno and student.sno=sc.sno GROUP BY course.cno; 
               
              (5)統計每門課程的選課人數和最高分。
               
              SELECT count(sc.cno),max(sc.degree) from sc,course,student where course.cno=sc.cno and student.sno=sc.sno GROUP BY sc.cno ;
               
              (6) 統計每個學生的選課門數和考試總成績,并按選課門數降序排列。
              SELECT count(cno),sum(degree) from sc GROUP BY sno;
               
              (7) 查詢選修了3門以上課程的學生學號。
              SELECT sno from sc GROUP BY sno having count(sno)>3;
               
              (8) 查詢成績不及格的學生學號及課號,并按成績降序排列。
              SELECT sno,cno from sc where degree<60 ORDER BY desc;
               
              (9) 查詢至少選修一門課程的學生學號。
              SELECT sno from sc GROUP BY sno HAVING count(sno)>=1; 
               
              (10) 統計輸出各系學生的人數
              SELECT sdept,count(sdept) from student GROUP BY sdept;
               
              (11) 統計各系的男、女生人數。
              SELECT ssex,count(ssex) from student GROUP BY ssex;
               
              (12) 統計各班人數。
              SELECT sdept,count(sdept) from student GROUP BY sdept;
               
              (13)統計各班男、女生人數。
              SELECT ssex,count(ssex) from student GROUP BY ssex;
               
              (14)統計各系的老師人數,并按人數升序排序。
              SELECT tdept,count(tdept) from teacher GROUP BY tdept;
               
              (15)統計不及格人數超過10人的課程號。
               
              SELECT cno from sc GROUP BY cno HAVING count(degree<60)>10;
               
              (16)統計選修人數超過10人的課程號。
               
               
              SELECT cno from sc GROUP BY cno HAVING count(degree<60)>10;
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
              任務三:多表連接查詢和嵌套查詢
              在Gradem數據庫中完成下面查詢:
              多表連接查詢:
              (1) 查詢計算機工程系女學生的學生學號、姓名及考試成績。
              SELECT student.sno,student.sname,degree from student,sc where sdept='計算機工程系' and ssex='女';
               
              (2) 查詢“李勇”同學所選課程的成績。(不考慮重名)
              SELECT cno,degree from sc where sno in(SELECT sno from student where sname='李勇');
               
              (3) 查詢“李新”老師所授課程的課程名稱。
              SELECT cname from course where cno in (SELECT cno from teaching where tno in(SELECT tno from teacher where tname='李新'));
               
              (4)查詢女教師所授課程的課程號及課程名稱。
              SELECT cno,cname from course where cno in (SELECT cno from teaching where tno in (SELECT tno from teacher where tsex='女'));
               
              (5) 查詢至少選修一門課程的女學生姓名。
              SELECT sname from student where ssex='女' and  sno in(SELECT sno from sc GROUP BY sno HAVING count(cno)>=1);
               
              (6) 查詢姓“王”的學生所學的課程名稱。
              SELECT cname from course where cno in(SELECT cno from sc where sno in(SELECT sno from student where sname like'王%') );
               
              (7) 查詢選修“數據庫”課程且成績在80~90分之間的學生學號及成績
              SELECT sno,degree from sc where degree>=80 and degree<=90 and cno in(SELECT cno from course where cname='數據庫');
               
              (8) 查詢課程成績及格的男同學的學生信息及課程號與成績。
              SELECT student.sno,sname,ssex,birthday,saddress,sdept,入學時間,cno,degree from student,sc WHERE student.sno=sc.sno and degree>60 AND ssex='男';
               
              (9) 查詢選修“c04”課程的學生的平均年齡。
              SELECT AVG(year(NOW())-year(birthday)) as 平均年齡 from student where sno in (SELECT sno from sc WHERE cno='C04');
               
              (10) 查詢學習課程名為“數學”的學生學號和姓名。
              SELECT sno,sname from student where sno in (SELECT sno from sc where cno in (SELECT cno from course where cname='數學'));
               
              (11) 查詢“錢軍”教師任課的課程號,選修其課程的學生的學號和成績。
              SELECT sno,degree from sc where cno in (SELECT cno from teaching where tno in (SELECT tno from teacher where tname='錢軍'));
               
              (12)查詢“錢軍”教師任課的課程號,選修其課程的學生的姓名。
              SELECT sname from student where sno in (SELECT sno from sc where cno in(SELECT cno from teaching where tno in (SELECT tno from teacher where tname='錢軍')));
               
              (13)查詢在第3學期所開課程的課程名稱及成績。
              SELECT course.cname,sc.degree FROM course,sc WHERE sc.cno=course.cno and course.cno in(SELECT cno from teaching WHERE cterm=3);
               
              (14)查詢“c02”號課程不及格的學生信息。
              SELECT * FROM student where sno in(SELECT sno from sc WHERE cno='C02' and degree<60);
               
              (15) 查詢同時選修了“c04”和“c02”課程的學生姓名和成績。
              SELECT student.sname 姓名,sc.degree 成績 from student,sc where student.sno=sc.sno and sc.cno='C04' and sc.cno='C02';
               
              嵌套查詢:
              (1) 查詢“李勇”同學所選課程的成績。
              SELECT course.cname,sc.degree FROM sc,course where sc.cno=course.cno and sc.sno in(SELECT sno from student where sname='李勇');
               
              (2) 查詢“李新”老師所授課程的課程名稱。
              SELECT cname from course where cno in(SELECT cno FROM teaching where tno in (SELECT tno FROM teacher WHERE tname='李新'));
               
              (3) 查詢女教師所授課程的課程號及課程名稱。
              SELECT cno,cname from course WHERE cno in (SELECT cno FROM teaching where tno in (SELECT tno FROM teacher WHERE tsex='女'));
               
              (4) 查詢姓“王”的學生所學的課程名稱。
              SELECT cname from course where cno in(SELECT cno FROM sc where sno in (SELECT sno from student WHERE sname LIKE'王%'));
               
              (5) 查詢選修“數據庫”課程且成績在80~90分之間的學生學號及成績。
              SELECT sno,degree from sc where degree>=80 and degree<=90 and cno in (SELECT cno from  course WHERE cname='數據庫');
               
              (6) 查詢學習課程名為“數學”的學生學號和姓名。
              #SELECT sno,sname from student where sno in(SELECT sno from sc WHERE cno in(SELECT cno from course WHERE cname='數學'));
               
              (7) 查詢選修“C04”課程的學生的平均年齡。
              SELECT avg(year(NOW())-year(birthday)) 平均年齡 from student WHERE sno in(SELECT sno from sc WHERE cno='C04');
               
              (8) 查詢在第3學期所開課程的課程名稱及成績。
              SELECT course.cname,sc.degree from course,sc WHERE course.cno=sc.cno and  sc.cno in (SELECT cno from teaching WHERE cterm=3);
               
              (9) 查詢“錢軍”教師任課的課程號,選修其課程的學生的學號和成績。
              SELECT sno,degree from sc where cno in(SELECT cno from teaching where tno in (SELECT tno from teacher WHERE tname='錢軍'));
               
              (10) 查詢與“李勇”同一個系的同學姓名。
              SELECT sname from student WHERE sdept in(SELECT sdept from student WHERE sname='李勇');
               
              (11) 查詢學號比“劉晨”同學大,而出生日期比他小的學生姓名。
              SELECT sname from student WHERE sno>sno in(SELECT sno from student WHERE sname='劉晨') and  birthday>birthday in(SELECT birthday from student WHERE sname='劉晨');
               
              (12) 查詢出生日期大于所有女同學出生日期的男同學的姓名及系別。
              SELECT sname,sdept from student where ssex='男' and birthday>birthday in (SELECT max(birthday) from student WHERE ssex='女');
               
              (13)查詢成績比該課程平均成績高的學生的學號及成績。
              SELECT sno,degree from sc  GROUP BY cno HAVING  degree>degree in (SELECT avg(degree) from sc);
               
              (14) 查詢不講授“C01”課的教師姓名。
              SELECT tname from teacher WHERE  not tno in(SELECT tno from teaching WHERE cno='C01'); 
               
              (15) 查詢“C02”號課程不及格的學生信息。
              SELECT * FROM student WHERE sno in(SELECT sno FROM sc WHERE cno='C02' and degree<60);
               
              (16)查詢沒有選修“C02”課程的學生學號及姓名。
              SELECT * FROM student WHERE not sno in(SELECT sno FROM sc WHERE cno='C02');
               
              任務四:數據庫的安全、備份與恢復
              (1)利用Navicat圖形工具實現下列操作:
              ① 使用root用戶創建aric用戶,初始密碼設置為abcdef。讓該用戶對gradem數據庫擁有SELECT、UPDATE、DROP權限。
               
               
               
               
              ②使用root用戶將aric用戶的密碼修改為123456
              任務五:完成課程設計報告
              課程設計報告
              課程設計報告是有關整個設計過程和設計內容的全面性說明,也是課程設計的總結。
              1、課程設計報告的內容
              課程設計報告分以下幾個主要部分:
              概述:主要就課程設計所完成的基本內容進行概要性說明。
              步驟:采用圖形或文字等方式,整個設計大致的操作過程以及各個過程所要完成的基本任務。
              內容:分別報告各個步驟的具體設計內容。包含文字敘述和設計代碼。(代碼部分應包括相應的文字注釋,且用灰色底紋區分于其他文字)
              總結:報告本次設計中碰到的問題,解決的方法和個人的感受。
              2、課程設計報告的要求
              1)報告結構清晰,敘述條理。
              2)能綜合反映設計的基本思路,基本方法和基本技術。
              3)課程設計說明書2000字左右。
              3、設計報告書格式
              設計報告書采用與本設計指導任務書的頁面大小相近的紙張格式進行編輯。
              正文,五號宋體,首行縮進2字符。頁面設置:每頁共36行,每行40個字。
              標題小四宋體,加粗。
              報告書的結尾附上班級和姓名。


               

              ------分隔線----------------------------
              鋒哥公眾號


              鋒哥微信號


              關注公眾號
              【Java資料站】
              回復 666
              獲取 
              66套java
              從菜雞到大神
              項目實戰課程
              日本色在线|国内偷拍在线精品|97资源站制服超碰视频|色情亚洲迅雷xiazai

              1. <form id="vgd9k"></form><nav id="vgd9k"></nav>

                <wbr id="vgd9k"></wbr>

                1. <nav id="vgd9k"></nav>