创建表。
① 学生基本情况数据表Student,结构如下:
字 段 号 字 段 类 型 约 束 控 制 字段含义说明
s_no char(6) Primary key 学号
class_no char(6) Not Null 班级号
s¬_name varchar(10) Not Null 学生姓名
s_sex char(2) ‘男’或‘女’ 性别
s_birthday datetime 出生日期
② 班级数据表Class,结构如下:
字 段 号 字 段 类 型 约 束 控 制 字段含义说明
class_no char(6) Primary key 班级号
class_name char(20) Not Null 班级名称
class_special varchar(20) 所属专业
class_dept char(20) 系别
③ 课程数据表Course,结构如下:
字 段 号 字 段 类 型 约 束 控 制 字段含义说明
course_no char(5) Primary key 课程号
course_name char(20) Not Null 课程名称
course_score numeric(6,2) 学分
④ 选修课程情况数据表Choice,结构如下:
字 段 号 字 段 类 型 约 束 控 制 字段含义说明
s_no char(6) 学号
course_no char(5) 课程号
score numeric(6,1) 成绩
⑤ 教师数据表Teachar,结构如下:
字 段 号 字 段 类 型 约 束 控 制 字段含义说明
t_no char(6) Primary key 教师号
t_name varchar(10) Not Null 教师姓名
t_sex char(2) ‘男’或‘女’ 性别
t_birthday datetime 出生日期
t_title char(10) 职称
⑥ 教师任课情况表Teaching,结构如下:
字 段 号 字 段 类 型 约 束 控 制 字段含义说明
couse_no char(5) 课程号
t_no char(6) 教师号

解决方案 »

  1.   

    查询信息。!!!
    ⑴ 查询所有同学的基本信息,包括:学号s_no、班级号class_no、性名s_name、性别、s_sex出生日期s_birthday。
    ⑵ 查询所有同学,要求显示其学号s_no、姓名s_name。
    ⑶ 查询所有男同学,要求显示其学号s_no、姓名s_name、出生日期s_birthday。
    ⑷ 查询所有出生日期在“1980—01—01”前的女同学。要求显示其学号s_no、姓名s_name、性别s_sex、出生日期s_birthday。
    ⑸ 查询所有姓“李”的男同学,要求显示其学号s_no、姓名s_name、性别s_sex、出生日期s_birthday。
    ⑹ 查询所有姓名中含有“一”字的同学,要求显示其学号s_no、姓名s_name。
    ⑺ 查询所有职称不是“讲师”的教师,要求显示其教师号t_no、姓名t_name、职称t_title。
    ⑻ 查询虽选修了课程,但未参加考试的所有同学,要求显示出这些同学的学号s_no。
    ⑼ 查询所有考试不及格的同学,要求显示出这些同学的学号s_no、成绩score、,并按成绩降序排列。
    ⑽ 查询出课程号为01001,01001,01003的所有课程,要求显示出课程号course_no、course_name。(要求用运算符)
    ⑾ 查询所有在1970年出生的教师,要求显示其教师号t_no、姓名t_name、出生日期t_birthday。
    ⑿ 查询出各个课程号course_no及相应的选课人数。
    ⒀ 查询出教授2门以上课程的教师号t_no。
    ⒁ 查询出选修了01001课程的学生平均分数、最低分数和最高分数。
    ⒂ 查询1960年以后出生的,职称为讲师的教师的姓名t_name,出生日期t_birthday,并按出生日期升序排列。
      

  2.   


    复杂数据查询
    ⑴ 查询所有同学的选课及成绩情况,要求显示学生的学号s_no、姓名s_name、课程号course_no和课程的成绩score。
    ⑵ 查询所有同学的选课及成绩情况,要求显示学生姓名s_name、课程名称course_name、课程的成绩score,并将查询结果存在到一个新的数据表new_table中。
    ⑶ 查询“计算机99-1”班的同学的选课及成绩情况,要求显示学生的学号s_no、姓名s_name、课程号course_no、课程名称course_name、课程的成绩score。
    ⑷ 查询所有同学的学分情况(假设课程成绩≥60时可获得该门课程的学分),要求显示显示的学号s_no、姓名s_name、总学分(将该列定名为:todal_score)。(用JOIN)
    ⑸ 查询所有同学的平均成绩及选课门数,要求显示学生的学号s_no、姓名s_name、平均成绩(将该列定名为:average_score)、选课门数(将该列定名为:choice_num)。
    ⑹ 查询所有选修了课程但未参加考试的所有同学及相应的课程,要求显示学生的学号s_no、姓名s_name、课程号course_no、课程名称course_name。
    ⑺ 查询所有选修了课程但考试不及格(假设<60分为不及格)的所有同学及相应的课程,要求显示学生的学号s_no、姓名s_name、课程号course_no、课程名称course_name、课程成绩course¬_score。
    ⑻ 查询选修了课程名“程序设计语言”的所有同学及成绩情况,要求显示学生的姓名s_name、课程成绩score。(使用ANY)
    ⑼ 查询“计算机”的使用同学及成绩情况,要求显示显示的学号s_no、姓名s_name、班级名称class_name、课程号course_no、课程名称course_name、课程成绩score。
    ⑽ 查询所有教师的任课情况,要求显示教师姓名t_name、担任课程的名称course_name。
    ⑾ 查询所有教师的任课门数,要求显示教师姓名t_name、担任课程的门数(将该列定名为:course_numder)。
    ⑿ 查询和“李建国”是同一班级的同学的姓名。(用子程序)
    ⒀ 查询没有选修“计算机基础”课程的学生姓名。(用NOT EXISTS)
    ⒁ 查询主讲“数据库原理与应用”和主讲“数据结构”的教师姓名。(用UNION)
    ⒂ 查询讲授了所有课程的教师姓名。
      

  3.   

    就是。。可是书都找不到了。我连SQL都没装。。
      

  4.   


    先创建数据库 use mastergo 
    if exists (select * from sysdatabases where name= 'myschool')   -- 判断数据库是否存在
    drop database myschool   -- 有的话就删除数据库
    create database myschool
    (
    name='myschool_data', -- 主数据文件的逻辑名称
    filename ='D:\myschool_data.mdf',  -- 物理名称
    size=5mb,   --初始大小
    maxsize=100mb, -- 增长最大值
    filegrowth=15%  -- 增长率
    )
    log on
    (
    name='myschool_log', -- 主数据文件的逻辑名称
    filename ='D:\myschool_log.ndf',  -- 物理名称
    size=3mb,   --初始大小
    maxsize=100mb, -- 增长最大值
    filegrowth=15%  -- 增长率)go--创建学生表
    use myschoolgo
    create table Student 
    (
    s_no char(6) Primary key --学号
    class_no char(6) Not Null --班级号
    s¬_name varchar(10) Not Null --学生姓名
    s_sex char(2) ‘男’或‘女’ --性别
    s_birthday datetime --出生日期)
    --班级表
    use myschoolgo
    create table Class(
    class_no char(6) Primary key --班级号
    class_name char(20) Not Null --班级名称
    class_special varchar(20) --所属专业
    class_dept char(20) -- 系别
    )
    go--课程表
    use myschoolgo
    create table Course (
    course_no char(5) Primary key --课程号
    course_name char(20) Not Null --课程名称
    course_score numeric(6,2) --学分)
    --选修课
    use myschoolgo
    create table Choice 
    (
    s_no char(6)-- 学号
    course_no char(5) --课程号
    score numeric(6,1)-- 成绩
    )
    --教师
    use myschoolgo
    create table Teacher 
    (
    t_no char(6) Primary key --教师号
    t_name varchar(10) Not Null --教师姓名
    t_sex char(2) --‘男’或‘女 性别
    t_birthday datetime --出生日期
    t_title char(10)-- 职称)
    -- 教师任课
    use myschoolgo
    create table teaching
    (
    couse_no char(5)-- 课程号
    t_no char(6) --教师号)
    go还有一些外键约束,检查约束,关系, 你自己写写试试, 主要的查询有:子查询select * from <表名> where (select * from ......)
    ,表连接 ,相关链接 
    修改:update 插入:insert删除:delete , drop 等如果还有不明白的, 可以联系我
      

  5.   

    sql server 有图形界面可以使用,要sql的话再导出来
      

  6.   

    这们兄弟好强大,但是日志文件的后缀是ldf吧,怎么是ndf.
      

  7.   

    --学生
    if exists(select * from sysobjects where name='Student')
    drop table Student
    go
    create table Student
    (
    s_no char(6) Primary key, --学号
    class_no char(6) Not Null, --班级号
    s_name varchar(10) Not Null, --学生姓名
    s_sex char(2), --‘男’或‘女’ 性别
    s_birthday datetime --出生日期
    )
    go
    --班级
    if exists(select * from sysobjects where name='Class')
    drop table Class
    go
    create table Class
    (
    class_no char(6) Primary key, --班级号
    class_name char(20) Not Null,--班级名称
    class_special varchar(20),--所属专业
    class_dept char(20)-- 系别
    )
    go
    --课程
    if exists(select * from sysobjects where name='Course')
    drop table Course
    go
    create table Course
    (
    course_no char(5) Primary key,--课程号
    course_name char(20) Not Null,--课程名称
    course_score numeric(6,2)--学分
    )
    go
    --选修课程情况数据
    if exists(select * from sysobjects where name='Choice')
    drop table Choice
    go
    create table Choice
    (
    s_no char(6),--学号
    course_no char(5),--课程号
    score numeric(6,1) --成绩
    )
    go
    --教师
    if exists(select * from sysobjects where name='Teachar')
    drop table Teachar
    go
    create table Teachar
    (
    t_no  char(6)     Primary key,--教师号
    t_name varchar(10) Not Null,--教师姓名
    t_sex char(2),--‘男’或‘女’ 性别
    t_birthday datetime,--出生日期
    t_title char(10) --职称
    )
    go
    --教师任课情况
    if exists(select * from sysobjects where name='Teaching')
    drop table Teaching
    go
    create table Teaching
    (
    couse_no char(5),--课程号
    t_no char(6)--教师号
    )
    go
    --添加约束开始-- 学生表
    --学号约束
    alter table Student 
    add constraint FK_Class foreign key(class_no) references Class (class_no)
    --性别约束
    alter table Student 
    add constraint CK_Sex check(s_sex='男' or s_sex='女')--选修课程情况数据 --课程号约束
    alter table Choice 
    add constraint FK_Choice_cId foreign key(course_no) references Course(course_no)
    --学号约束
    alter table Choice 
    add constraint FK_Student_stuNo foreign key(s_no) references Student(s_no)--教师表性别约束
    alter table Teachar 
    add constraint CK_Teacher_Sex check(t_sex='男' or t_sex='女')
    --教师任课情况--课程号
    alter table Teaching 
    add constraint FK_Teaching_cId foreign key(couse_no) references Course(course_no)
    --教师号
    alter table Teaching 
    add constraint FK_Teaching_stuNo foreign key(t_no) references Teachar(t_no)
      

  8.   

    [Quote=引用 19 楼 wesleycome 的回复:]
    这们兄弟好强大,但是日志文件的后缀是ldf吧,怎么是ndf.写错了   不好意思, 嘿嘿...
      

  9.   


    约束在建表的时候就可以写好了 
     后面不用写这“alter table Choice  
    add constraint FK_Choice_cId foreign key(course_no) references Course(course_no)”的。
      

  10.   

    可参考
    http://topic.csdn.net/u/20100517/17/b2ab9d5e-73a2-4f54-a7ec-40a5eabd8621.html
      

  11.   

    图形化界面操作,然后导出SQL脚本就好了…