单表的就不详细说了
列举一个吧,就比如班级表
class_id(主键)
class_name
class_studentnumber
//老师表和学生表也是一样
在此基础上,再添加下表
老师班级表
teacher_id
class_id
student_id
teacher_name
teacher_sex
其中主键为:teacher_id和class_id
双主键,就可以实现多对多关系
---建课程表--
create table 课程表
{
课号 char(6) not null,
名称 char(10) not null
}
go
--建学生表--
create table 学生表
{
学号 char(6) not null,
姓名 varchar(10) not null,
性别 char(2) ,
民族 char(10) not null
}
go
--建成绩表--
create table 成绩表
{
学号 char(6) not null,
课程号 char(6) not null,
分数 char(5) not null
}
go
--添加信息--
insert into 课程表 values('100001','大学语文')
insert into 课程表 values('100002','大学英语')
go
--检索姓李的女同学--
select 姓名,性别,民族 from 学生表 where 性别=‘女’and 姓名=‘李%’
楼主给点分吧
最后那一段帮你小改了下,直接执行
if OBJECT_ID('up_init','p')is not nulldrop proc up_init
go
create proc up_init
as
begin
--
--遍历每一个学生
declare my_c cursor scroll
for select stuid from student
--2
open my_c
--3
declare @n int,@stuid int,@score float
set @n=1
select @score=score from Grade
--begin
while (@n<=@@CURSOR_ROWS)
begin
fetch next from my_c into @stuid
insert into Grade values('语文',RAND()100,@stuid)
insert into Grade values('数学',RAND()100,@stuid)
insert into Grade values('英语',RAND()100,@stuid)
set @n=@n+1
end
--4
close my_c
--5
deallocate my_c
end
-----------------------------------
go
exec up_init
select from Grade
以上就是关于数据库表设计,一张表和多张表有关系,并且是多对多关系全部的内容,包括:数据库表设计,一张表和多张表有关系,并且是多对多关系、一个SQL数据库的设计题 急 各位大侠帮忙啊!~~、新建数据库,三张表 学生表 ,成绩表,课程表(有以下课程:语文,数学,英语),目前有100个学生等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)