数据库三张表,学生表,教师表和课程表

打油的程序员 2013-01-19 03:05:58
数据库三张表,学生表,教师表和课程表。
Student (studentId,studentName)
Teacher (teacherId,teacherName)
Course (studentId,teacherId,CourseName)
显示所有满足这样条件的学生名字和老师名字,每个老师只教一个学生,每个学生只由一个老师教,也就是老师和学生一对一。
比如Course表有记录:
1,1,cn1
1,2,cn2
2,1,cn3
3,3,cn4
4,5,cn5
只显示最后两条记录对应的老师名字和学生名字
...全文
2004 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajune 2013-01-19
  • 打赏
  • 举报
回复
先枚举出教师的个数,然后在枚举出每个教师所教的学生,然后从中按楼主选出所需的条件的结果
善若止水 2013-01-19
  • 打赏
  • 举报
回复
这好办呀,在课程表中分别对学生id和教师id进行group by取count(*)=1的学生id和教师id,再依据选出来的id 关联姓名
fw0124 2013-01-19
  • 打赏
  • 举报
回复
select studentname, teachername from(
select max(studentid) studentid, teacherid from course where teacherid in (
select max(teacherid) from course group by studentid having count(teacherid) = 1)
group by teacherid having count(studentid) = 1) t,
student, teacher
where t.studentid=student.studentid and t.teacherid=teacher.teacherid;
实验一 熟悉 SQL Server 2012 开发环境 三、实验内容及记录 1、启动 SQL Server 2012 数据库服务,记录运行情况和处理方法。 2、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库 中创建几个,打开其中某个,进行插删改操作,记录运行情况和处理方法 实验二 SQL 的数据定义(和索引) 1.复习 SQL 语言中数据定义的相关命令。 2.根据实验样例数据库的要求预先写好相应的命令(完整性约束可不定义, 留待实验三完成)。 (1)使用命令完成附录中实验样例数据库四张的数据定义:学生 Student、课程 Course、班级 Class、成绩 Cj。四张结构详见附录一。 实验三 SQL 的完整性约束定义 1.复习教材第五章完整性约束定义的相关内容。 2.根据下面要求完成实验样例数据库中提到的完整性约束定义。 实验四 SQL 的数据更新 1.复习 SQL 语言中插入、修改、删除的相关命令。 2.使用教师已经录入的相关数据的“xsglsjk”数据库,并另外准备好一些 待插入、修改、删除的数据,预先写好相应的命令。 (1)使用 insert 命令向 Student 中插入一条新的学生纪录(2000105, 刘辉,男,20,00311)。 实验五 SQL 的数据查询(4 学时) 实验六 SQL 的数据定义(视图) 实验七 SQL 的数据控制和实现 实验八 SQL 的服务器端编程(4 学时) 实验九 游标的使用(2 学时) 实验十 SQL 的综合大作业
建立环境实验和数据库/ 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生熟悉SQL Server 2014的集成环境,帮助学生掌握数据库的建立方法以及SQL Server的数据导入方法 二、实验内容    (一)、SQL Server 2014的安装 SQL Server2014的安装过程与 SQL Server 2008、SQL Server2012的安装过程类似,都提供了一个功能树以用来安装所有 SQL Server 组件,包括计划、安装、维护、工具、资源、高级、选项等功能。下面是各功能选项中所包含的内容,如图3-1所示。 图3-1 安装计划中的内容 (1)选择“安装”功能,因为要创建SQL Server 2014的全新安装,单击“全新SQL Server 2014独立安装或向现有安装添加功能”选项,如图3-2所示。 图3-2 “安装”功能中的内容 (2)在“产品密匙”页上,选择相应的单选按钮,这些按钮指示是安装免费版本的SQL Server还是具有产品密匙的产品版本,如果使指免费的评估版,只有180天的试用期限,如图3-3所示。 图3-3 “产品密钥”界面 (3)在“许可条款”页上阅读许可协议,然后选中相应的复选框以接受许可条款和条件。如图3-4所示。 图3-4 “许可条款”界面 (4)系统进行安装程序支持规则检查,以确定安装SQL Server安装程序支持文件时可能发生的问题。必须更正所有的失败,安装程序才能继续。如图3-5所示。 图3-5 “安装规则”界面 (5)在“设置角色”页上选择SQL Server功能安装,如图3-6所示。 图3-6 “设置”角色界面 (6)在“功能选择”页上选择要安装的组件。选择功能名称后,右侧窗体中会显示每个组件的说明。可以根据实际需要,选中一些功能,如图3-7所示。一般应用可选择“数据库引擎服务”、“客户端工具连接”、“SQL客户端连接”和“管理工具”等选项。 图3-7“功能选择”界面 (7)在“实例配置”页上制定是安装默认实例还是命名实例,对于默认实例,实例的名称和ID都是MSSQLSERVER,也可以自己“命名实例”安装实例,如图3-8所示。SQL Server支持多个实例,即支持在同一台计算机上同时运行多个SQL Server数据库引擎实例,每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的SQL Server数据库引擎实例的方式与连接其它计算机上运行的SQL Server数据库引擎的方式基本相同。 图3-8 “实例配置”界面 (8)在“服务器配置”页上指定SQL Server服务的登录帐户。SQL Server提供了多种服务,可以为所有SQL Server服务分配相同的登录账户,也可以分别配置每个服务账户。还可以指定服务是自动启动、手动启动还是禁用。Microsoft建议对各服务账户进行单独配置,以便为每项服务提供最低特权,即向SQL Server服务授予它们完成各自任务所需的最低权限,如图3-9所示。SQL Server中的每个服务代一个进程或一组进程,每个进程需要有访问SQL Server相关文件和系统注册的权限,为了能让SQL Server服务在操作系统中正常的启动和运行,就需要指定SQL Server的服务帐户,所以服务帐户指的是Windows操作系统中的帐户。 图3-9 “服务器配置”界面 (9)在“数据库引擎配置”的“服务器配置”页上指定身份验证模式、用户名、密码,如图3-10所示。这里的用户身份验证指的是登录到服务器使用的身份验证模式及用户名和密码。身份验证模式分为“Windows身份验证模式”和“混合模式(SQL Server身份验证和Windows身份验证)”。如果选择“Windows身份验证模式”示则只能使用Windows的帐号登录,即使用当前登录到操作系统的帐号进行登录,通过这种方式用户登录到SQL Server中时不再需要输入帐号和密码。如选择“混合模式(SQL Server身份验证和Windows身份验证)”示除了可以用使用登录到Windows的帐号作为登录的依据外,还可以使用SQL Server系统的帐号登录,这里必须为内置SQL Server系统管理员账户(SA)提供一个强密码。必须至少为SQL Server实例指定一个系统管理员。若要添加用以运行SQL Server安装程序账户,则要单击“添加当前用户”按钮。若要向系统管理员列中添加账户或从中删除账户,则单击“添加…”或“删除…”按钮,然后编辑将拥有SQL Server实例的管理员特权的用户、组或计算机列。 图3-10 设置身份验证模式和管理员 (10)在“准备安装”页显示安装过程中的安装选项的树视图,如图3-11所示。若要继续,单击“安装”按钮。在安装过程中,“安装进度”页会提供相应的状态,因此可以在安装过程中监视安装进度。 图3-121“准备安装”界面 (11)安装完成后,“完成”页提供指向安装日志文件摘要以及其他重要说明的链接。如图3-12所示。 图3-12 “安装完成”界面 (二)、建库建练习      1、利用语句建库和建: 创建学生数据库StuDB,文件名和位置自定,在此数据库中创建如下三张学生(student) (   学号(sno) 普通编码定长字符类型,长度9,主码,   姓名(sname) 普通编码定长字符类型,长度10,非空,   性别(ssex) 统一编码定长字符类型,长度2,   年龄(sage) 微整型,   所在系(sdept) 统一编码可变长字符类型,长度20 ) 课程(course) (   课程号(cno) ,通编码定长字符类型,长度4,主码,   课程名(cname) 统一编码定长字符类型,长度,40,非空,   开课学期(Semester) 短整数, 学分(credit) 短整数 ) 修课(sc)(   学号(sno) 普通编码定长字符类型,长度7,主码,外码   课程号(cno) 普通编码定长字符类型,长度6,主码,外码   成绩(grade) 小整型,   修课类别(ctype)普通编码定长字符类型,长度4 ) 2、建立“汽车”数据库,文件名和位置自定,在此数据库中创建如下三张: 汽车(CarT),结构如下:   汽车序号(CId) 整型 主关键字,   汽车名称(CName) 普通编码定长字符类型 长度为10  非空,   型号(CType)普通编码变长字符类型 长度为60  非空,   价格(CPrice) 整型,   车身眼色(Ccolor)普通编码变长字符类型 长度为20。 部门(DepartT),结构如下:   部门序号(DId)整型 主关键字,   部门名(DName)普通编码定长字符类型 长度为20   非空,   负责人名(DLead)普通编码定长字符类型 长度为10  非空,   人数(DAmount) 整型。 汽车出厂(FacT),结构如下:   汽车序号(CID) 整型 非空,   部门序号(DId) 整型 非空,   出厂日期(FDate)小日期时间型 非空,   出厂数量(FAmount) 整型,   出厂价格(FPrice) 整型。   其中:主关键字为(汽车序号,部门序号,出厂日期)   “汽车序号”为引用汽车的“汽车序号”的外部关键字; “部门序号”为引用部门的“部门序号”的外部关键字。 3、使用数据库的可视化工具建库建 建立银行贷款,具体要求同课堂教学的建库建一致。 银行(BankT)( 银行代码(Bno) 主键 银行名称(Bname) 非空 电话(Tel) ) 法人(LET)( 法人代码(Eno)主键 法人名称(Ename)取值唯一 经济性质(Enature) 注册资金(Ecapital) 法定代人(Erep) ) 贷款(LoanT)( 法人代码(Eno) 银行代码(Bno) 贷款日期(Ldata) 贷款金额(Lamount) 贷款期限(Lterm) )        (三)、数据导入练习 将“学生数据库数据.xls”中的数据导入到学生数据库三张中。 将“银行贷款数据.xls”中的数据导入到银行贷款数据库三张中。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧