欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)一思考

      時(shí)間:2019-05-13 18:18:49下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)一思考》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)一思考》。

      第一篇:數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)一思考

      思考四個(gè)問(wèn)題:你創(chuàng)建的數(shù)據(jù)庫(kù)文件在哪里,找到它,copy到自己U盤(pán)上關(guān)于主碼,你可以在實(shí)驗(yàn)中輸入兩個(gè)相同的學(xué)號(hào),看可不可以,為什么 3 打開(kāi)某張表,看看屬性和元組的區(qū)別創(chuàng)建的這些表是邏輯模型的表現(xiàn)還是概念模型的表現(xiàn)

      第二篇:數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)

      創(chuàng)建數(shù)據(jù)表與數(shù)據(jù)輸入

      Part I.使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)表和輸入數(shù)據(jù) 1.在SQL Server Management Studio中創(chuàng)建數(shù)據(jù)表 P69 1.(1)-(6)

      2.為數(shù)據(jù)表輸入數(shù)據(jù) P76 4.(1)-(4)

      3.數(shù)據(jù)瀏覽

      P77

      1.(1)-(2)

      2.(1)-(3)

      Part II.使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)表和輸入數(shù)據(jù) 1.使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)表 P72.例3-2

      2.使用SQL語(yǔ)句輸入數(shù)據(jù) P82.例3.8

      習(xí)題:P.105(1)(2)insert 數(shù)據(jù)操作Insert、Update、Delete

      P105 3.上機(jī)練習(xí)題(2)(4)

      Insert(100001, 1000, 2002-12-18 0:00:00)(100002, 2000, 2010-3-20 0:00:00)

      Update(100001, 1500, 2002-12-18 0:00:00)(100002, 2000, 2012-9-25 0:00:00)

      Delete Transact-SQL語(yǔ)句基礎(chǔ)1 1.將teaching數(shù)據(jù)庫(kù)中score表的studentno列設(shè)置為引用表student的外鍵。ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY(studentno)REFERENCES student(studentno)2.將teaching數(shù)據(jù)庫(kù)中class表的classname創(chuàng)建UNIQUE約束。ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname)執(zhí)行如下插入語(yǔ)句,查看提示信息

      INSERT INTO class VALUES(‘090602’, ’計(jì)算機(jī)0902’, ’計(jì)算機(jī)學(xué)院’, ’馬文斐’)3.為teaching數(shù)據(jù)庫(kù)中student表的birthday列創(chuàng)建CHECK約束,規(guī)定學(xué)生的年齡在17-25歲之間。

      ALTER TABLE student ADD CONSTRAINT CK_birthday CHECK(YEAR(GETDATE())-YEAR(birthday))BETWEEN 17 AND 25 執(zhí)行如下插入語(yǔ)句,查看提示信息

      INSERT INTO student(studentno, sname, sex, birthday, classno)VALUES(‘0922221328’, ’張?jiān)础? ’男’, ’1983-04-05’, ’090501’)提示:表達(dá)式Y(jié)EAR(GETDATE())-YEAR(birthday)4.為teaching數(shù)據(jù)庫(kù)創(chuàng)建規(guī)則prof_rule,規(guī)定教師職稱取值只能為’助教’,’講師’,’副教授’,’教授’,并將其綁定到teacher表的prof列上。

      CREATE RULE prof_rule AS @prof IN(’助教’,’講師’,’副教授’,’教授’)EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’

      執(zhí)行如下插入語(yǔ)句,查看提示信息

      INSERT INTO teacher VALUES(‘t05002’, ’張?jiān)础? ’軟件工程’, ’工程師’, ’計(jì)算機(jī)學(xué)院’)提示:表達(dá)式IN(職稱列表)5.編寫(xiě)程序,輸出在1-3000之間能被17整除的最大數(shù)值

      提示:可使循環(huán)控制變量從最大值開(kāi)始,逐步減少,第一個(gè)滿足被17整除的數(shù)值即為所求解的結(jié)果,可通過(guò)BREAK語(yǔ)句跳出循環(huán)。(如果使循環(huán)控制變量從小到大逐步增加,則循環(huán)次數(shù)將大大增加,程序執(zhí)行效率將下降。)

      PRINT ‘1-3000之間能被17整除的最大數(shù)值為:’ +CAST(@i AS CHAR(4))DECLARE @s INT, @i INT SELECT @s=0, @i=3000 WHILE @i>=1 BEGIN

      IF @i%17=0

      BEGIN

      PRINT ‘1-3000之間能被17整除的最大數(shù)值為:’ + CAST(@i AS CHAR(4))

      BREAK

      END @i = @i-1 END Transact-SQL語(yǔ)句基礎(chǔ)2 1.利用Transact-SQL語(yǔ)句聲明一個(gè)長(zhǎng)度為16的nchar型變量bookname,并賦初值為“SQL Server數(shù)據(jù)庫(kù)編程”,打印該變量。

      2.編程求50-100之間的所有能被3整除的奇數(shù)之和。

      3.編寫(xiě)程序,聲明CHAR型變量@ch,并賦初值。判斷字符變量@ch中存放的是字母、數(shù)字字符還是其他字符,并輸出相關(guān)信息。(提示:UPPER函數(shù)可以將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母)

      4.編寫(xiě)程序,求解如下分?jǐn)?shù)序列的前20項(xiàng)之和并打印輸出結(jié)果。

      S=2/1+3/2+5/3+8/5+13/8+21/13+…

      分析數(shù)列的規(guī)律:后一項(xiàng)的分子為前一項(xiàng)的分子和分母之和,后一項(xiàng)的分母則為前一項(xiàng)的分子,通過(guò)循環(huán)即可實(shí)現(xiàn)累加。注意:聲明分子和分母為浮點(diǎn)型數(shù)據(jù)NUMERIC(20,7).5.查詢編號(hào)為c06108, c08106, c05109課程的學(xué)生總評(píng)成績(jī)等級(jí),平時(shí)成績(jī)usually*0.2+期末成績(jī)final*0.8>=90的為優(yōu)秀,80-90為良好,70-80為中等,60-70為及格,<60為不及格。(提示:使用CASE …END語(yǔ)句)數(shù)據(jù)檢索1 1.查詢course表中所有的記錄。2.查詢student表中女生的人數(shù)。

      3.查詢teacher表中每一位教授的教師號(hào)、姓名和專業(yè)名稱。

      4.利用現(xiàn)有的表生成新表,新表中包括學(xué)號(hào)、學(xué)生姓名、課程號(hào)和總評(píng)成績(jī)。其中:總評(píng)成績(jī)=final*0.8+usually*0.2 5.查詢student表中所有年齡大于20歲的男生的姓名和年齡。6.查詢計(jì)算機(jī)學(xué)院教師的專業(yè)名稱。

      7.查詢Email使用126郵箱的所有學(xué)生的學(xué)號(hào)、姓名和電子郵箱地址。8.查詢score表中選修’c05109’或’c05103’課程,并且課程期末成績(jī)?cè)?0~100分之間的學(xué)生姓名和期末成績(jī)。

      9.查詢student表中所有學(xué)生的基本信息,查詢結(jié)果按班級(jí)號(hào)classno升序排列,同一班級(jí)中的學(xué)生按入學(xué)成績(jī)point降序排列。10.查詢選修’c05109’課程,并且期末成績(jī)?cè)谇?名的學(xué)生學(xué)號(hào)、課程號(hào)和期末成績(jī)。(提示:TOP 5)數(shù)據(jù)檢索2

      1.按性別分組,求出student表中每組學(xué)生的平均年齡。2.統(tǒng)計(jì)每個(gè)學(xué)生期末成績(jī)的平均分。

      3.輸出student表中沒(méi)有職稱的職工的教師號(hào)、姓名、專業(yè)和部門。4.查詢選修課程且期末成績(jī)不為空的學(xué)生人數(shù)。

      5.查詢每名學(xué)生的學(xué)號(hào)、選修課程數(shù)目、總成績(jī),并將查詢結(jié)果存放到生成的“學(xué)生選課統(tǒng)計(jì)表”中。6.查詢各班學(xué)生的人數(shù)。

      7.查詢各課程期末成績(jī)的最高分和最低分。

      8.查詢教兩門及以上課程的教師編號(hào)、任課班級(jí)數(shù)。

      9.查詢課程編號(hào)以’c05’開(kāi)頭、被3名及以上學(xué)生選修且期末成績(jī)的平均分高于75分的課程號(hào)、選修人數(shù)和期末成績(jī)平均分,并按平均分降序排序。10.查詢所有08級(jí)學(xué)生的期末成績(jī)平均分,要求利用COMPUTE BY方法顯示每一名學(xué)生的學(xué)生編號(hào)、課程號(hào)、期末成績(jī)的明細(xì)表,以及期末成績(jī)平均分的匯總表。

      11.查詢所有女生入學(xué)成績(jī)的最高分,要求利用COMPUTE BY方法既顯示明細(xì)又顯示匯總結(jié)果。SQL語(yǔ)句的高級(jí)應(yīng)用1

      1.查詢每一位教授的教師號(hào)、姓名和講授的課程名稱。表:teacher,course,teach_class 2.分別統(tǒng)計(jì)每個(gè)學(xué)生期末成績(jī)高于75分的課程門數(shù)。表:student,score 3.計(jì)算每個(gè)學(xué)生獲得的學(xué)分。表:student,score,course 4.獲取入學(xué)時(shí)間在2008年到2009年之間的所有學(xué)生中入學(xué)年齡小于19歲的學(xué)生的學(xué)號(hào)、姓名及所修課程的課程名稱。表:student, stu_course 5.查詢09級(jí)學(xué)生的學(xué)號(hào)、姓名、課程及學(xué)分。表:student,stu_course 6.查詢所有班級(jí)的期末成績(jī)平均分,并按照平均分降序排列。表:score,student 7.查詢教師基本信息和教授課程信息,其中包括未分配課程的教師信息。表:teacher,teach_class 8.查詢’090501’班級(jí)中選修了’韓晉升’老師講授的課程的學(xué)生的學(xué)號(hào)、姓名、課程名和期末成績(jī)。表:score,student,course,teach_class,teacher 9.查詢每門課程的課程號(hào)、課程名和選修該課程的學(xué)生人數(shù),并按所選人數(shù)升序排序。表:score,course 10.查詢兩門及以上課程的期末成績(jī)超過(guò)80分的學(xué)生的姓名及其平均成績(jī)。表:student,score SQL語(yǔ)句的高級(jí)應(yīng)用2 – 使用子查詢

      1.輸出student表中年齡大于女生平均年齡的男生的所有信息。2.查詢?nèi)雽W(xué)考試成績(jī)最高的學(xué)生的學(xué)號(hào)、姓名和入學(xué)成績(jī)。3.查詢所有教授’c05127’號(hào)課程的教師信息。

      4.查詢同時(shí)教授’c05127’和’c05109’號(hào)課程的教師信息。

      5.查詢至少選修了姓名為’韓吟秋’的學(xué)生所選修課程中的一門課的學(xué)生的學(xué)號(hào)和姓名。

      6.查詢沒(méi)有被任何學(xué)生選修的課程編號(hào)、課程名稱和學(xué)分。

      7.查詢’C語(yǔ)言’課程期末成績(jī)比’電子技術(shù)’課程期末成績(jī)高的所有學(xué)生的學(xué)號(hào)和姓名。

      8.查詢所有班級(jí)期末平均成績(jī)的最高分,并將其賦值給變量,通過(guò)PRINT語(yǔ)句輸出。視圖與索引

      使用SQL語(yǔ)言

      1.創(chuàng)建一個(gè)視圖v_teacher,查詢所有“計(jì)算機(jī)學(xué)院”的教師信息。

      CREATE VIEW v_teacher AS SELECT * FROM teacher WHERE department='計(jì)算機(jī)學(xué)院' GO SELECT * FROM v_teacher

      2.創(chuàng)建一個(gè)視圖v_avgstu,查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名及平均分,并且按照平均分降序排列。

      CREATE VIEW v_avgstu AS SELECT TOP 100 student.studentno,sname,avg(final)AS '平均分' FROM student JOIN score ON student.studentno=score.studentno GROUP BY student.studentno,sname ORDER BY avg(final)GO SELECT * FROM v_avgstu

      3.修改v_teacher的視圖定義,添加WITH CHECK OPTION選項(xiàng)。

      ALTER VIEW v_teacher AS SELECT * FROM teacher WHERE department='計(jì)算機(jī)學(xué)院' WITH CHECK OPTION

      4.通過(guò)視圖v_teacher向基表teacher中分別插入數(shù)據(jù)(‘05039’, ‘張馨月’,’計(jì)算機(jī)應(yīng)用’,’講師’,’計(jì)算機(jī)學(xué)院’)和(‘06018’, ‘李誠(chéng)’,’機(jī)械制造’,’副教授’,’機(jī)械學(xué)院’),并查看插入數(shù)據(jù)情況。

      INSERT INTO v_teacher VALUES('05039', '張馨月','計(jì)算機(jī)應(yīng)用','講師','計(jì)算機(jī)學(xué)院')GO SELECT * FROM teacher

      消息550,級(jí)別16,狀態(tài)1,第1 行

      試圖進(jìn)行的插入或更新已失敗,原因是目標(biāo)視圖或者目標(biāo)視圖所跨越的某一視圖指定了WITH CHECK OPTION,而該操作的一個(gè)或多個(gè)結(jié)果行又不符合CHECK OPTION 約束。語(yǔ)句已終止。

      5.通過(guò)視圖v_teacher將基表teacher中教師編號(hào)為05039的教師職稱修改為”副教授”。

      UPDATE v_teacher SET prof='副教授' WHERE teacherno='05039' GO SELECT * FROM teacher

      6.在course表的cname列上創(chuàng)建非聚集索引IDX_name。

      CREATE NONCLUSTERED INDEX IDX_name ON course(cname)

      7.在student表的studentno和classno列上創(chuàng)建唯一索引UQ_stu,若該索引已經(jīng)存在,則刪除后重建,并輸出student表中的記錄,查看輸出結(jié)果的順序。CREATE UNIQUE INDEX UQ_stu ON student(studentno,classno)

      8.教材P.200-204(節(jié)7.5.2)使用SQL Server Management Studio創(chuàng)建視圖,按照樣圖進(jìn)行操作。

      第三篇:數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)(二)

      數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)內(nèi)容及要求(第二部分)

      1. 建立工廠管理數(shù)據(jù)庫(kù)

      工廠(包括廠名和廠長(zhǎng)名)需要建立一個(gè)管理數(shù)據(jù)庫(kù)存儲(chǔ)以下信息:

      (1)一個(gè)廠內(nèi)有多個(gè)車間,每個(gè)車間有車間號(hào)、車間主任姓名、地址和聯(lián)系電話;

      (2)一個(gè)車間有多個(gè)工人,每個(gè)工人有職工號(hào)、姓名、年齡、性別和工種;

      (3)一個(gè)車間生產(chǎn)多種產(chǎn)品,產(chǎn)品有產(chǎn)品號(hào)和價(jià)格;每種產(chǎn)品只能由一個(gè)車間生產(chǎn);

      (4)一個(gè)車間制造多種零件,一種零件也可能為多個(gè)車間制造。零件有零件號(hào)、重

      量和價(jià)格;

      (5)一種產(chǎn)品可由多種零件組成,一種零件也可以裝配出多種產(chǎn)品;

      (6)產(chǎn)品和零件均存入倉(cāng)庫(kù);

      (7)廠內(nèi)有多個(gè)倉(cāng)庫(kù),倉(cāng)庫(kù)有倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)主任姓名和電話。

      根據(jù)以上需求分析結(jié)果,按照下述要求,設(shè)計(jì)并建立工廠管理數(shù)據(jù)庫(kù)。? 分析實(shí)體及聯(lián)系,設(shè)計(jì)E-R圖。

      ? 將E-R圖轉(zhuǎn)換成關(guān)系模式,并規(guī)范化到3NF。

      ? 在Microsoft SQL Server2000中基于“企業(yè)管理器”建立數(shù)據(jù)庫(kù)及相關(guān)對(duì)象(主

      碼,外碼,索引,約束等)。

      ? 測(cè)試數(shù)據(jù)入庫(kù)

      2. 基于“查詢分析器”,完成并保存下述題目的SQL腳本

      (1)建立“工種”是“鉗工”的所有職工詳細(xì)信息的視圖;

      (2)建立“車間號(hào)”是“CJ01”的鉗工詳細(xì)信息的視圖;

      (3)建立使用了“零件號(hào)”是“LJ0002”的所有產(chǎn)品詳細(xì)信息的視圖;

      (4)查詢使用了“零件號(hào)”是“LJ0002”的產(chǎn)品的生產(chǎn)車間號(hào);

      (5)對(duì)零件表按照“零件號(hào)”建立唯一索引;

      (6)對(duì)職工表按照“性別”建立聚簇索引;

      (7)查詢“車間主任姓名”是“趙平”的“車間地址”和“聯(lián)系電話”;

      (8)查詢“職工號(hào)”是“ZG0001”的職工所在車間的“車間主任姓名”和“聯(lián)系電

      話”;(連接查詢實(shí)現(xiàn))

      (9)查詢“產(chǎn)品號(hào)”是“CP0001”的產(chǎn)品的生產(chǎn)車間的“車間主任姓名”和“聯(lián)系

      電話”;(嵌套查詢實(shí)現(xiàn))

      (10)查詢使用了“零件號(hào)”是“LJ0002”的所有產(chǎn)品的“產(chǎn)品號(hào)”,且查詢結(jié)果按照

      “零件數(shù)量”降序排列;

      (11)查詢使用了“零件號(hào)”是“LJ0002”的所有產(chǎn)品的“產(chǎn)品號(hào)”和“產(chǎn)品價(jià)格”;

      (12)查詢使用了“零件號(hào)”是“LJ0002”的所有產(chǎn)品的生產(chǎn)車間的“車間主任姓名”

      和“聯(lián)系電話”;

      (13)查詢使用了“零件號(hào)”是“LJ0002”的產(chǎn)品數(shù);

      (14)查詢“LJ0002”號(hào)零件裝配產(chǎn)品的使用總量;

      (15)查詢使用了3種以上零件的產(chǎn)品號(hào);

      【注意】:下機(jī)時(shí)保存數(shù)據(jù)庫(kù)文件(.mdf和.ldf)及SQL腳本文件到U盤(pán)。

      第四篇:數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)總結(jié)(含代碼)

      實(shí)驗(yàn)一

      (1)無(wú)條件單表查詢

      select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept)DEPARTMENT FROM student;(2)有條件單表查詢

      SELECT sname,sdept,sage FROM student WHERE sage NOT BETWEEN 20 AND 23;(3)單表嵌套(一層)查詢

      SELECT sno,sname,sdept FROM student WHERE sdept IN(SELECT sdept FROM student WHERE sname='劉晨');(4)復(fù)合條件多表查詢

      SELECT student.sno,sname,cname,grade FROM student ,sc,course WHERE student.sno=sc.sno AND sc.cno=course.cno;(5)使用COUNT()的單表查詢 SELECT COUNT(*)FROM student;(6)使用AVG()的單表查詢

      SELECT AVG(grade)'平均成績(jī)' from SC where CNO='1';(7)查詢結(jié)果分組

      SELECT cno,COUNT(sno)'人數(shù)' FROM sc GROUP BY cno;(8)查詢結(jié)果排序

      SELECT * FROM student ORDER BY sdept,sage DESC;(9)使用通配符的查詢

      SELECT sname,sno,ssex FROM student WHERE sname NOT LIKE'劉%';(10)使用換碼字符的單表查詢

      SELECT cno,ccredit FROM course WHERE cname LIKE 'DB_Design'ESCAPE'';(11)插入單個(gè)元組 插入一個(gè)新學(xué)生元組

      Insert into student(sno,sname,ssex,sdept,sage)values('200215128','陳冬','男','IS',18)(12)插入子查詢結(jié)果

      對(duì)每一個(gè)系,求學(xué)生平均年齡,并把結(jié)果存入數(shù)據(jù)庫(kù) Create table dept_age(sdept char(15),avg_age int)Insert into dept_age(sdept,avg_age)select sdept,avg(sage)from student group by sdept(13)修改某個(gè)元組的值

      將學(xué)生200215121的年齡改為22歲

      Update student set sage=’22’ where sno=’200215121’(14)修改多個(gè)元組的值 將所有學(xué)生的年齡增加一歲 Update student set sage=sage+1(15)刪除一個(gè)元組的值 刪除學(xué)號(hào)為200215128的學(xué)生記錄

      delete from student where sno='200215128'(16)建立視圖 建立信息系學(xué)生的視圖

      create view is_student as select sno,sname,sage from student where sdept='IS' ×(17)查詢視圖

      查詢選修了1號(hào)課程的信息系學(xué)生信息

      Select is_student.sno,sname from is_student,sc where is_student.sno=sc.sno and sc.cno=’1’ ×(18)更新視圖

      將信息系學(xué)生視圖is_student中學(xué)號(hào)為95001的學(xué)生姓名改為李楠 update is_student set sname='李楠' where sno='95002' 將下列問(wèn)題用SQL命令表示:

      1.查詢‘IS’系學(xué)生的學(xué)號(hào)、姓名、性別。

      SELECT sno,sname,ssex FROM student WHERE sdept='IS';2.查詢‘IS’系年齡在20歲以下的學(xué)生。

      SELECT * FROM student WHERE sdept='IS'AND sage<20;3.查詢所有不姓‘劉’的學(xué)生的學(xué)號(hào)、姓名、性別。

      SELECT sname,sno,ssex FROM student WHERE sname NOT LIKE'劉%';4.查詢student表中學(xué)生的總?cè)藬?shù)。

      SELECT COUNT(*)'總?cè)藬?shù)' FROM student;5.查詢和‘李勇’同性別的所有同學(xué)的姓名。

      SELECT sname from student where ssex in(select ssex from student where sname='李勇');6.查詢和‘李勇’同性別并同系的所有同學(xué)的姓名。

      Select sname from student where ssex in(select ssex from student where sname='李勇')and sdept in(select sdept from student where sname='李勇')7.查詢選修2號(hào)課程的學(xué)生的學(xué)號(hào)。Select sno from sc where cno='2' 8.求3號(hào)課程的平均成績(jī)。

      Select avg(grade)from sc where cno=’3’ 9.查詢選修2號(hào)課程的學(xué)生的最高分。Select max(grade)from sc where cno=’2’

      10.按成績(jī)降序排列,輸出‘IS’系學(xué)生選修了2號(hào)課程的學(xué)生的姓名和成績(jī)。

      Select sname,grade from student,sc where sdept='IS' and cno='2' and student.sno=sc.sno order by grade desc SQL查詢分析器下建數(shù)據(jù)庫(kù)的命令代碼: create database 霍雙雙200826352 on(name='霍雙雙200826352_data',filename='E:

      霍霍

      雙雙

      雙雙

      ***5

      霍霍

      雙雙

      雙雙200826352_data.mdf',size=10mb,maxsize=50mb,filegrowth=10%)log on(name='霍雙雙200826352_log',filename='E:200826352_log.ldf',size=10mb,maxsize=50mb,filegrowth=10%)在查詢分析器重建立各表的命令代碼: 建立student表:

      create table student(sno char(5)primary key,sname char(20),ssex char(2),sage int,sdept char(15))建立course表:

      create table course(cno char(2)primary key,cname char(15),cpno char(2),ccredit int)建立cs表:

      use 霍雙雙200826352 create table sc(sno char(5),cno char(2),grade smallint,primary key(sno,cno),foreign key(sno)references student(sno),foreign key(cno)references course(cno))實(shí)驗(yàn)二

      T-SQL查詢、存儲(chǔ)過(guò)程、觸發(fā)器、完整性上機(jī)作業(yè)題 第一部分 :T-SQL程序設(shè)計(jì)

      (1).如果3號(hào)課程的平均成績(jī)?cè)?0分以上,則輸出“3號(hào)課程成績(jī)良好”,否則輸出“3號(hào)成績(jī)一般” declare @avg float set @avg=(select avg(grade)from sc where cno='3')if @avg>80print'3號(hào)課程成績(jī)良好'else print'3號(hào)成績(jī)一般'(2)計(jì)算并輸出95003號(hào)學(xué)生的平均成績(jī),若無(wú)該生信息,則顯示“該生未選課”,提示信息.declare @avg float if(select count(*)from sc where sno='95003')=0 print '該生未選課' else begin select @avg=avg(grade)from sc where sno='95003' print'95003號(hào)學(xué)生平均成績(jī)' print @avg end(3).如果有成績(jī)?cè)?0分以上的學(xué)生,則顯示他的學(xué)號(hào),課程和成績(jī),否則顯示“沒(méi)有學(xué)生的課程成績(jī)?cè)?0分以上”提示信息

      declare @text char(10)if exists(select grade from SC where grade>90)select Sno,Cno,Grade from SC where Grade>90 else begin set @text='沒(méi)有學(xué)生的課程成績(jī)?cè)?0分以上' print @text end ×(4).利用游標(biāo)逐行顯示student表中的記錄。

      declare stu cursor for select *from student open stu fetch next from stu while @@fetch_status=0 fetch next from stu close stu deallocate stu(5).用自定義函數(shù)計(jì)算全體男生的平均年齡

      create function avg_age(@sex char(2))returns int as begin declare @aver int select @aver=(select avg(Sage)from Student where Ssex=@sex)return @aver end go declare @aver1 int,@sex char(2)set @sex='男' select @aver1=dbo.avg_age(@sex)select @aver1 as '全體男生的平均年齡' go(6).顯示course表中課程名的前2個(gè)字符。select substring(Cname,1,2)from Course(7).在一列中顯示student中各元組的學(xué)號(hào)中的年級(jí),列名顯示為“年級(jí)”;另一列中顯示學(xué)號(hào)中的學(xué)生序列號(hào),列名顯示為“序號(hào)”。

      select substring(Sno,1,2)年級(jí),substring(Sno,3,len(Sno)-1)序號(hào) from Student order by Sno(8).在選課表中顯示學(xué)號(hào)、課程號(hào),并根據(jù)成績(jī):0-59顯示“不合格”;60-79顯示“合格”;80-89顯示“良好”;90-100顯示“優(yōu)秀?!?/p>

      select Sno as '學(xué)號(hào)',Cno as '課程號(hào)', grade =case when Grade<=59 then '不合格' when Grade>=60 and Grade<=79 then '合格' when Grade>=80 and Grade<=89 then '良好' else '優(yōu)秀' end from SC 第二部分 :存儲(chǔ)過(guò)程

      (1)創(chuàng)建一個(gè)為worker表添加職工記錄的存儲(chǔ)過(guò)程Addworker go

      if exists(select name from sysobjects where name='Addworker' and type='P')drop procedure Addworker go create proc Addworker @職工號(hào) char(4),@姓名 char(8),@性別 char(2),@出生日期 datetime,@黨員否 char(2),@參加工作 datetime,@部門號(hào) char(4)as insert into worker(職工號(hào),姓名,性別,出生日期,黨員否,參加工作,部門號(hào))values(@職工號(hào),@姓名,@性別,@出生日期,@黨員否,@參加工作,@部門號(hào))go exec Addworker '16','王璐','女','1988-11-20','否','2010-08-21','11'(2)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程Delworker刪除worker表中指定職工號(hào)的記錄 go

      if exists(select name from sysobjects where name='Delworker' and type='P')drop procedure Delworker go create procedure Delworker @職工號(hào) char(4)as delete from worker where 職工號(hào)=@職工號(hào)

      go exec Delworker '16'(3)顯示存儲(chǔ)過(guò)程Delworker的定義信息。Sp_helptext Delworker(4)刪除存儲(chǔ)過(guò)程Addworker和Delworker。drop procedure Addworker, Delworker(5)創(chuàng)建并執(zhí)行以下存儲(chǔ)過(guò)程:

      a.從數(shù)據(jù)庫(kù)表中查詢,返回學(xué)生學(xué)號(hào)、姓名、課程名、成績(jī) use 霍雙雙200826351 go if exists(select name from sysobjects where name='select_stu' and type='P')drop procedure select_stu go create procedure select_stu as select SC.Sno,Sname,Cname,Grade from Student,SC,Course where SC.Sno=Student.Sno and SC.Cno=Course.Cno go exec select_stu b.從數(shù)據(jù)庫(kù)表中查詢指定學(xué)號(hào)的學(xué)生學(xué)號(hào),姓名,該存儲(chǔ)過(guò)程接受與傳遞參數(shù),精確匹配的值 use 霍雙雙200826351 go if exists(select name from sysobjects where name='select_sno' and type='P')drop procedure select_sno go create procedure select_sno @Sno char(5)as select Sno,Sname from Student where Sno=@Sno go exec select_sno '95002' ×第三部分:觸發(fā)器

      (1)在表depart上創(chuàng)建一個(gè)觸發(fā)器 depart_update , 當(dāng)更改部門號(hào)時(shí)同步更改 worker表中對(duì)應(yīng)的部門號(hào)。Go If exists(select name from sysobjects where name='depart_update'and type='tr')drop trigger depart_update go Create trigger depart_update on depart for update as set worker.部門號(hào)=(select 部門號(hào) from inserted)where worker.部門號(hào)=(select 部門號(hào)from deleted)(2)在表worker上創(chuàng)建一個(gè)觸發(fā)器worker_delete,當(dāng)刪除職工記錄時(shí)同步刪除salary表中對(duì)應(yīng)的職工記錄。Go If exists(select name from sysobjects where name='worker_delete'and type='tr')drop trigger worker_delete go create trigger worker_delete on worker for delete as delete salary where salary.職工號(hào)=(select 職工號(hào) from deleted)(3)刪除觸發(fā)器depart_update(4)刪除觸發(fā)器worker_delete(5)在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)觸發(fā)器,向選課表添加一條紀(jì)錄時(shí),檢查該紀(jì)錄的學(xué)號(hào)在學(xué)生表中是否存在,檢查該紀(jì)錄的課程號(hào)在課程表中是否存在,若其中有一項(xiàng)為否,則拒絕添加操作,并顯示“違反數(shù)據(jù)一致性”提示信息。Go If exists(select name from sysobjects where name='add_student'and type='tr')drop trigger add_student go

      create trigger add_student on sc for insert as go 第四部分:數(shù)據(jù)庫(kù)完整性

      1、實(shí)施worker表的“性別”字段默認(rèn)值為“男”的約束 create default default_sex as '男' go sp_bindefault'default_sex','worker.性別'

      2、實(shí)施salary表的“工資”字段值在0~9999的約束、create rule salary_rule as @salary='[0~9999]' go sp_bindrule 'salary_rule','salary.工資'

      3、實(shí)施depart表的“部門號(hào)”字段值唯一的非聚集索引的約束

      4、為worker表建立外鍵“部門號(hào)”,參考表depart的“部門號(hào)”列。

      5、建立一個(gè)規(guī)則 sex:@性別=’男’OR @性別=’女’,將其綁定到worker表的“性別”列上。Create rule sex as @性別='男'OR @性別='女' Go Sp_bindrule 'sex','worker.性別'

      6、刪除1小題所建立的約束。

      7、刪除2小題所建立的約束。

      8、刪除3小題所建立的約束

      9、刪除4小題所建立的約束

      10.解除5小題所建立的綁定并刪除規(guī)則sex

      第五篇:數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)8實(shí)驗(yàn)報(bào)告

      上機(jī)實(shí)驗(yàn)八——完整性約束的實(shí)現(xiàn)

      一、實(shí)習(xí)目的:

      掌握SQL中實(shí)現(xiàn)數(shù)據(jù)完整性的方法,加深理解關(guān)系數(shù)據(jù)模型的三類完整性約束。

      二、實(shí)習(xí)準(zhǔn)備:

      1.復(fù)習(xí)“完整性約束SQL定義”

      2.完成習(xí)題四第10題中的各項(xiàng)操作的SQL語(yǔ)句。

      3.了解SQL Server 中實(shí)體完整性、參照完整性和用戶自定義完整性的實(shí)現(xiàn)手段

      三、實(shí)習(xí)內(nèi)容:

      1.驗(yàn)證習(xí)題四第10題四個(gè)表結(jié)構(gòu)的SQL語(yǔ)句。

      表一:Sstudent CREATE TABLE Sstudent(Sno char(7)NOT NULL PRIMARY KEY, Sname VarChar(20)NOT NULL, Ssex Char(2)NOT NULL DEFAULT('男')check(Ssex IN('男','女')), Sage smallint check(Sage >14 AND Sage<65), Clno Char(5)NOT NULL REFERENCES Cclass(Clno)ON UPDATE CASCADE);

      表二:Ccourse CREATE TABLE Ccourse(Cno Char(1)NOT NULL PRIMARY KEY, Cname VarChar(20)NOT NULL, Credit Smallint CHECK(Credit IN(1,2,3,4,5,6)));

      表三:Cclass CREATE TABLE Cclass(Clno Char(5)NOT NULL PRIMARY KEY, Speciality VarChar(20)NOT NULL, Inyear Char(4)NOT NULL, Number Integer CHECK(Number>1 AND Number<100), Mointor Char(7)REFERENCES Student(Sno));

      表四:Ggrade CREATE TABLE Ggrade(Sno Char(7)NOT NULL REFERENCES Student(Sno)ON DELETE CASCADE ON UPDATE CASCADE, Cno Char(1)NOT NULL REFERENCES Course(Cno)ON DELETE CASCADE ON UPDATE CASCADE, Gmark Numeric(4,1)CHECK(Gmark>0 AND Gmark<100), PRIMARY KEY(Sno,Cno));

      2.SQL Server中提供了那些方法實(shí)現(xiàn)實(shí)體完整性、參照完整體和用戶自定義完整性

      答:實(shí)體完整性:是通過(guò)主碼的定義(PRIMARY KEY)來(lái)實(shí)現(xiàn)的;

      參照完整性:是利用外部碼(REFERENCES)的說(shuō)明,以限制相關(guān)表中某些屬性的取值,當(dāng)用戶違反規(guī)則時(shí),提供三種:RESTRICT(限制策略),CASCADE(級(jí)聯(lián)策略),SET NULL(置空策略);

      用戶自定義完整性:check約束,對(duì)元組的CHECK約束

      下載數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)一思考word格式文檔
      下載數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)一思考.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        《網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用》上機(jī)實(shí)驗(yàn)

        《網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用》實(shí)驗(yàn)大綱實(shí)驗(yàn)學(xué)時(shí)為18學(xué)時(shí),要求完成七個(gè)實(shí)驗(yàn)。為了保證能按時(shí)完成實(shí)驗(yàn),學(xué)生應(yīng)事先按照下面的具體要求編寫(xiě)好有關(guān)有程序,然后在安排的實(shí)驗(yàn)期間進(jìn)行調(diào)試,只有程......

        數(shù)據(jù)庫(kù)實(shí)驗(yàn)一

        山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告 班級(jí) 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績(jī): 課程: 數(shù)據(jù)庫(kù)系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期:2018年3月3日 實(shí)驗(yàn)一 創(chuàng)建數(shù)據(jù)庫(kù) 一.實(shí)驗(yàn)?zāi)康?1.學(xué)會(huì)數(shù)據(jù)表的創(chuàng)建; 2.加深......

        數(shù)據(jù)庫(kù)與軟件工程上機(jī)實(shí)驗(yàn)答案

        《數(shù)據(jù)庫(kù)與軟件工程》上機(jī)實(shí)驗(yàn)答案 實(shí)驗(yàn)三 SQL語(yǔ)言的DDL 3.CREATE TABLE aa( Bb1 VARCHAR(30), Bb2 INT, Bb3 DECIMAL(6,2) ) 4. ALTER TABLE aa ADD Bb4 varchar(20) 5.DROP......

        數(shù)據(jù)庫(kù)上機(jī)心得體會(huì)

        數(shù)據(jù)庫(kù)上機(jī)心得體會(huì)數(shù)據(jù)庫(kù)的課程結(jié)束了,通過(guò)對(duì)數(shù)據(jù)庫(kù)的學(xué)習(xí)也初步掌握其各方面的知識(shí),數(shù)據(jù)庫(kù)的功能是強(qiáng)大的,面對(duì)目前的信息化社會(huì),在整理、查詢、分析數(shù)據(jù)方面是一款強(qiáng)有力的工......

        數(shù)據(jù)庫(kù)上機(jī)報(bào)告

        課本:255頁(yè)實(shí)驗(yàn)題1,2,3 注明: 課程名稱:access數(shù)據(jù)庫(kù); 實(shí)驗(yàn)室:信傳樓210; 上機(jī)項(xiàng)目:模塊與VBA; 上機(jī)時(shí)間:12-05; 上機(jī)學(xué)時(shí):2學(xué)時(shí) 作業(yè)在下周周三(12-11)上多媒體藝術(shù)基礎(chǔ)時(shí)上交,因要統(tǒng)一裝訂......

        數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)報(bào)告

        蘭州理工大學(xué)學(xué)生上機(jī)報(bào)告學(xué)院計(jì)算機(jī)與通信學(xué)院課程名稱數(shù)據(jù)庫(kù)原理 學(xué)生姓名侯予南學(xué)號(hào)05550204 專業(yè)班級(jí)基地班05級(jí)1班 上機(jī)日期2008年4月17日 指導(dǎo)教師李明 上機(jī)實(shí)驗(yàn)報(bào)告(......

        數(shù)據(jù)庫(kù)上機(jī)報(bào)告

        數(shù)據(jù)庫(kù)上機(jī)報(bào)告 *** 鞏志鑫 5.1 實(shí)驗(yàn)?zāi)康?(1)熟練掌握SELECT實(shí)現(xiàn)單表查詢 (2)熟練掌握SELECT實(shí)現(xiàn)多表查詢(含自身連接,外連接,CROSS連接) (3)熟練掌握SELECT實(shí)現(xiàn)明細(xì)查詢(COMPU......

        數(shù)據(jù)庫(kù)上機(jī)心得體會(huì)

        心得體會(huì)數(shù)據(jù)庫(kù)的課程結(jié)束了,通過(guò)對(duì)數(shù)據(jù)庫(kù)的學(xué)習(xí)也初步掌握其各方面的知識(shí),數(shù)據(jù)庫(kù)的功能是強(qiáng)大的,面對(duì)目前的信息化社會(huì),在整理、查詢、分析數(shù)據(jù)方面是一款強(qiáng)有力的工具。學(xué)習(xí)的......