数据库试验答案

1.熟悉SQLServer中SQLServerManagementStudio的环境

2.了解SQLServer数据库的逻辑结构和物理结构

3.掌握使用向导创建和删除数据库的方法

二、实验要求

1.熟练使用SSMS进行数据库的创建和删除操作。

2.完成实验报告。

三、实验内容

设有一学籍管理系统,其数据库名为“EDUC”。

初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;

日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。

日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。

四、实验步骤

1.使用SQLServerManagementStudio(简称SSMS)创建数据库。

(1)启动SSMS

在开始菜单中:所有程序-SQLServer2005-SQLServerManagementStudio单击“连接”按钮,便可以进入【SQLServerManagementStudio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。

(2)建立数据库

在“对象资源管理器”窗口,建立上述数据库EDUC。在数据库节点上右击选择新建。同时建立一个同样属性的数据库EDUC1。

2.使用向导删除上面建立的数据库。

用SSMS删除建立的数据库EDUC。

五、实验总结

经过本次试验,对于SQLSERVER有了一个初步的认识,也对于在sqlserver上创建数据库有了一定的了解。

实验2使用SQL语句创建和删除数据库

1.了解SQLServer2005数据库的逻辑结构和物理结构。

2.掌握使用SQL语句创建和删除数据库。

1.熟练使用查询分析器进行数据库的创建和删除操作。

用SQL语句去创建和删除数据库。

1.创建数据库userdb1。

2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC.createdatabaseEDUC

on

(name=EDUC_data,--数据文件的逻辑名称,注意不能与日志逻辑同名

filename='E:\sql_data\student_data.mdf',--物理名称,注意路径必须存在

size=10,--数据初始长度为M

maxsize=50,--最大长度为M

filegrowth=5%)--数据文件每次增长M

logon

(name=EDUC_log,

filename='E:\sql_data\student_log.ldf',

size=2,

maxsize=5,

filegrowth=1)

3.用SQL语句删除步骤1建立的数据库userdb1。

dropdatabaseuserdb1;

掌握了用SQL语句创建和删除数据库,对SQLServer都有了进一步的认识和了解,发现其实SQL语句还是挺好用的。

实验三分别用向导和SQL语句创建和删除表

1.了解表的结构特点。

2.了解SQLServer的基本数据类型。

3.学会使用T-SQL语句创建表。

二.实验要求

1.完成SQL语句创建和删除基本表。

三.实验内容

在数据库EDUC中,创建如下几个表:

1.打开查询窗口,输入创建基本表的sql语句。

(1)student表:

createtablestudent(

snochar(8)NOTNULLprimarykey,--学号

snamevarchar(10)NOTNULL,--姓名

sexchar(2)check(sex='女'orsex='男'),--性别:男、女

clsnochar(6),--班级编号,(外键)参照表class

foreignkey(clsno)referencesclass(clsno),

sadrrvarchar(20),--住址

sagenumeric(3,0),--年龄,大于,但小于岁

heightdecimal(4,2)--身高

)

(2)class表

createtableclass(

clsnochar(6)NOTNULLprimarykey,--班号

clsnamevarchar(16)NOTNULL,--班名

directorvarchar(10)NULL,--辅导员

specialtyvarchar(30)NULL--专业

(3)course表

createtablecourse(

cnochar(4)NOTNULLprimarykey,--主键

cnamevarchar(16)NOTNULL,--课程名称

cpnochar(4),--先修课程的课程号(外键),参照cno

ccredittinyint--学分

(4)sc表

createtablesc(

snochar(8)NOTNULL,--学号,参照Student,与Cno组成主键cnochar(4)NOTNULL,--课程号,参照Course

THE END
1.sql如何查询所有学生都选修了的课程的课程号cno?*首先从课程表里面选出一个课程,然后再从学生表里面取出所有的学生,然后进行B.sno = student.sno and course.cno = B.cno的判断来确定该名学生有没有选这门课,如果有则查询到了结果则第二个NOT EXISTS 返回false则student里面的where则接受到false不进行任何操作,即为空,如果没有查询到结果则第二个NOT EXISTShttps://blog.csdn.net/weixin_51215850/article/details/124258836
2.SQL那个面试题(学生表课程表成绩表教师表)select C# as 课程号,count() as 人数 from sc group by C# order by count() desc,c# 45. 检索至少选修两门课程的学生学号 select S# from sc group by s# having count() > = 2 46. 查询全部学生都选修的课程的课程号和课程名 select C#,Cname https://www.jianshu.com/p/2bc402e41fdc
3.数据库——关系代数结论:当查询条件和结果来自两个关系时, 用连接 [例 2] 查询选修了2号课程的学生的学生名。 π Sname(σCno=‘2’(Student 连接 SC )) [例3] 查询选修了先行课为5号课的课程的学生姓名。 π Sname(σ Cpno='5'(Student 连接 SC 连接 Course)) https://www.pianshen.com/article/13152011004/
4.学院名,电话,家庭住址)课程关系C(课程号,课程名选修课程号给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式为:π1,2,3,7(π1,2,3(1) )∞(2) ))。 https://www.ruantiku.com/shiti/459417960.html
5.数据库复习题考试题库(应用题)阅读清单5)检索WANG同学不学的课程的课程名。 ∏C#(C)-ΠC#(σSNAME=‘WANG’(S∞SC) 6)检索全部学生都选修的课程的课程号与课程名。 ∏C#,CNAME(C∞(πS#,C#(SC) ÷πS#(S))) 7)检索选修课程包含LIU老师所授全部课程的学生学号。 ∏S#,C#(SC)÷∏C#(σTEACHER=‘LIU’(C)) https://cloud.tencent.com/developer/inventory/3529/article/1557979
6.数据库中查询全部学生都选修了的课程号和课程名select 课程.课程号,课程.课程名 from 课程 where 课程号 in(select distinct 课程号 from 选课 group by 课程号 having count(*) =(select count(*) from 学生))根据人数判断 ,比较土,可以这样试试。https://zhidao.baidu.com/question/543608443.html
7.mysql查询某班学生的各科平均分代码mysql查询平均分大于60的学号36、检索至少选修两门课程的学生学号; select student_id from score group by student_id having count(student_id) > 1 1. 37、查询全部学生都选修的课程的课程号和课程名; select course_id,count(1) from score group by course_id having count(1) = (select count(1) from student); https://blog.51cto.com/u_16213723/10393460