十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
教师表:ID,名字,其他
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都玻璃隔断等,在重庆网站建设、全网营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
宿舍表:ID,名字,其他
班级表:ID,名字,其他
假设学生与上述三者都是一对一,即一个学生只能有一个宿舍,老师,班级,反过来都是一对N,即一个班级表有多个学生。
学生表:ID,名字,其他,老师ID,宿舍ID,班级ID
以上四表ID均为主键。
学生表的三个外键对应三表主键,即可联表。
通常来说还应有个课程表。
课程表:课程ID,名字,其他
课程-老师-学生为1-1-N关系。
课程-老师-学生关系表:课程ID,老师ID,学生ID,其他。
这个关系表的主键为前三个字段。
create table 学生表
(
学生表字段1 varchar2(20),
学生表字段1 varchar2(20),
学生表字段1 varchar2(20),
)
create table 课程表
(
课程表字段1 varchar2(20),
课程表字段2 varchar2(20),
课程表字段3 varchar2(20),
)
create table 成绩表
(
成绩表字段1 varchar2(20),
成绩表字段2 varchar2(20),
成绩表字段3 varchar2(20),
)
创建表的SQL语句:
createtablestudent(
namevarchar(20),
student_IDnumber,
sexvarchar(5),
class_idnumber,
birthdaydate,
from_cityvarchar(50),
pictureraw(30),
resumechar(2));
由于简历resume作为链接,在Oracle中没有对应的字段类型,在Oracle中只能体现其有无,建议用1代表有,用0代表无。
SQL语言创建数据库和学生表
建立:
[sql]
create database zxl
create table 学生表
(
学号 char(12) primary key,
姓名 char(6) not null,
性别 char(2) check(性别 IN ('男','女')),
班级 char(15)
)
create table 成绩表
(
学号 char(12)references 学生表(学号),
课程号 char(2)references 课程表(课程号) ,
成绩 int default(30),
primary key (学号,课程号)
)
create table 课程表
(
课程号 char(2) primary key,
课程名 char(20),
学分 int check(学分=1 and 学分=5 )
)
操作:
[sql]
insert into 学生表 values('201190609112','张xl','男','文专计1111')
insert into 学生表 values('201190609113','张**','女','文专计1111')
insert into 成绩表 values('201190609112','01',100)
insert into 成绩表 values('201190609112','02',99)
insert into 成绩表 values('201190609112','03',88)
insert into 课程表 values('01','数据库系统',3)
insert into 课程表 values('02','vb.net',4)
insert into 课程表 values('03','java',4)
select *from 成绩表
select 姓名,课程名,成绩
from 学生表,课程表,成绩表
where (学生表.学号=成绩表.学号 and 课程表.课程号=成绩表.课程号)
order by 成绩 desc
select avg(成绩) 平均分,max(成绩) 最高分,min(成绩) 最低分
from 成绩表
where 学号='201190609112
创建一个名为教学管理的数据库创建学生表要求定义主码
一、简答
1、DBA的职责是什么?
2、视图的作用有哪些?
3、数据库的完整性和安全性有什么区别?
4、SQL语言的特点是什么?
5、数据字典通常包括哪几部分?
6、什么是基本表,什么是视图,二者的区别和联系是什么?
7、DBMS的主要功能是什么?
8、什么是数据库备份和恢复?为什么要备份和恢复数据库?
9. 什么是事务?事务的作用?SQL中事务的语法结构是怎样的?
10、举出实体之间具有一对一、一对多、多对多的联系的例子。
11、 数据库的并发操作会带来哪些问题?如何解决?
12、什么是日志文件?简述日志文件恢复事务的过程(即:事务故障的恢复的过程)。
13、关系完整性约束规则有哪三类?
14、 数据库管理技术发展的三个阶段?
15、写出数据库的设计的五个阶段。
16、根据3NF的定义及规范化方法,对关系模式R(U,F) U={学号,姓名,所在系,系主 任,课程号,成绩} F= { 学号 → 姓名 , 学号 → 所在系,所在系 → 系主任(学号,课程 号) → 成绩} 进行分解,使其满足3NF。
17、 什么是事务?事务有哪些特征?
18、写出关系型数据库的第一、第二、第三范式的各自要求。
19、举三个例子分别说明二元联系的三种情况( 1:1、1:M、M:N ) 。
运行sql文件出错
解决办法:使用Notepad++打开文件,选择 格式-无BOM的UTF8格式编码
create table stu_info(
stuid varchar2(32) not null,
name varchar2(32),
birthday date
);
create table course_info(
code varchar2(32) not null
name varchar2(32)
);
create table score_info(
id varchar2(32) not null,
stuid varchar2(32),
code varchar2(32),
score number
);
comment on table stu_info is '学生信息表';
comment on table course_info is '课程信息表';
comment on table score_info is '分数表';
alter table stu_info add constraint pk_stu_info_id primary key (stuid);
alter table course_info add constraint pk_course_info_id primary key (code);
alter table score_info add constraint pk_score_info_id primary key (id);
学生表 student
课程表 course
学生选课关系表 stucourse
create table student(sno number primary key,sname varchar2(20));
insert into student values(1,'alley');
insert into student values(2,'bob');
commit;
create table course(cno number primary key,cname varchar2(20));
insert into course values(1,'语文');
insert into course values(2,'数学');
commit;
create table stucourse(sno number,cno number);
alter table stucourse add constraint pk_stucource primary key(sno,cno);
insert into stucourse values(1,1);
insert into stucourse values(1,2);
insert into stucourse values(2,1);
commit;
2. select a.sname,c.cname
from student a,stucourse b,course c
where a.sno = b.sno and b.cno=c.no;
3. 查询选修一门以上的学生,按学号从小到大排序
select a.sno, a.sname
from student a,stucourse b,course c
where a.sno = b.sno and b.cno=c.no
group by a.sno,a.sname
having count(1)=1
order by a.sno;
4、各用一条语句实现下列功能:添加表的列、更新表的某一字段值、删除表的列、删除表数据、修改表的名称。
alter table student add ssex varchar2(2);
update student set ssex='女';
alter table student drop column ssex;
delete from student where sno=1;
alter table student rename to studentnew;
5、在PL/SQL中执行SELECT语句:在某一实体表中,查询符合某一条件的记录,并显示相应的几个字段值
select sno, sname
from student
where sno=1;
6、用CASE语句实现一多分支结构
select case when sno=1 then '学号1‘ when sno=2 then '学号2' else '其他学号' end
from student;