MySQL学生信息管理系统

学生信息管理系统

基于学生信息管理系统(7.7综合实例)的E-R图(如下所示,参考)和关系模式集完成以下任务。
MySQL学生信息管理系统_第1张图片
关系模式集(参考):
学生(学号,姓名,性别,出生日期,身份证号,家庭住址,联系电话,邮政编码,政治面貌,简历,是否退学,是否休学,楼号,房间号,床位号,班级号)
系(系号,系名,系主任,办公室,电话)
班级(班级号,班级名称,专业,班级人数,入学年份,教室,班主任,班长,系号)
课程(课程号,课程名,学期)
教师(教师号,姓名,性别,出生日期,职称,系号)
宿舍(楼号,房间号,住宿性别,床位数)
选修(学号,课程号,成绩)
讲授(教师编号,课程号)

实验任务
基于学生信息管理系统(7.7综合实例)的E-R图(参考)和关系模式集(参考)完成以下任务。
(1)使用SQL语句创建数据库模式(或数据库);
(2)使用SQL语句将关系模式集中的各个关系模式创建为基本表(自行定义属性名、数据类型、长度) ;
(3)创建基本表的同时完成实体完整性、参照完整性定义。
(4)数据库操作:使用SQL语句完成数据的增、删、改、查操作。
(5)使用SQL语句创建需要的视图,实现数据管理
(6)创建用户并进行授权:GRANT和REVOKE。

实验步骤
(1)使用SQL语句创建数据库:
create database Student_Information_Management;
(2)使用SQL语句将关系模式集中的各个关系模式创建为基本表并(3)遵循实体完整性、参照完整性定使用SQL语句将关系模义以及自定义完整性,代码如下:
1.建Department 表(系)
create table Department
(
DptNumber int primary key,
Dptname nvarchar(30) not null,
DptMan nvarchar(30) not null,
DptHouseNumber char(30) not null,
DptPhone char(22) not null
);

  1. 建学生(Student)表
    create table Student
    (
    StuSno char(10) primary key,
    StuName char(20) not null,
    StuGender char(1),
    StuBirthday date not null,
    StuID char(18) unique,
    StuPhone char(12) not null,
    StuAddress char(20) not null,
    StuPolitics char(10) not null,
    StuDptNumber int not null,
    FOREIGN KEY (StuDptNumber) REFERENCES Department(DptNumber)
    );
    MySQL学生信息管理系统_第2张图片
    3.建Class表

create table Class
(
ClsSno int primary key,
ClsClass varchar(10) not null,
ClsName char(20) not null,
ClsMajor varchar(10) not null,
ClsNumber varchar(15) not null,
ClsTime date not null,
ClsTeacher nvarchar(20) not null,
ClsDepartment int not null,
foreign key(ClsDepartment) references Department(DptNumber)
);
MySQL学生信息管理系统_第3张图片

4.建Teacher表
create table Teacher
(
TeacNumber varchar(20) primary key,
TeacName varchar(20) not null,
TeacGender char(1),
TeacDptName char(20) not null,
TeacBrithday date not null,
TeacMajoy varchar(20) not null,
TeacDepartment int not null,
foreign key(TeacDepartment) references Department(DptNumber)
);
MySQL学生信息管理系统_第4张图片

5.建立Drom表
create table Dorm
(
DormNumber char(20) not null,
DormRoom char(20) not null,
DormGender int not null,
DormSum int not null,
primary key(DormNumber,DormRoom)
);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200514204234988.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIyODc2Mg==,size_16,color_FFFFFF,t_70MySQL学生信息管理系统_第5张图片

(4)数据的增、删、改、查操作

1.增添数据insert:对系表添加数据,代码如下:
insert into Student values(‘184804001’,‘敏儿’,0,‘1998-10-09’,411123199810097890,‘13989012343’,‘北京’,‘共青团员’,001);
insert into Student values(‘184804002’,‘咩咩’,0,‘1999-11-09’,411123199911097990,‘13987012343’,‘北京’,‘共青团员’,005);
insert into Student values(‘184804003’,‘晓儿’,1,‘1999-01-09’,411123199901097960,‘13987012993’,‘上海’,‘群众’,007);
insert into Student values(‘184804004’,‘小小’,0,‘1999-09-09’,411123199909097890,‘13987562343’,‘北京’,‘共青团员’,005);

insert into Student values(‘184804005’,‘刘鑫’,1,‘1999-12-09’,411123199912097943,‘13987892343’,‘上海’,‘群众’,002);
insert into Student values(‘184804006’,‘咩儿’,1,‘1999-07-09’,411123199907097989,‘13987012343’,‘北京’,‘群众’,009);
insert into Student values(‘184804007’,‘洋洋’,1,‘1999-05-19’,411123199905197912,‘13987012223’,‘山东’,‘共青团员’,005);
insert into Student values(‘184804008’,‘憨憨’,0,‘1992-10-19’,411123199810854122,‘13989068243’,‘北京’,‘共青团员’,001);
insert into Student values(‘184804009’,‘小平’,1,‘1999-03-09’,411123199903093452,‘13987012003’,‘河南’,‘共青团员’,008);
insert into Student values(‘184804010’,‘小红’,0,‘1998-11-09’,411123199811097987,‘13987012453’,‘深圳’,‘共青团员’,007);
insert into Student values(‘184804011’,‘李萍’,0,‘1998-01-09’,411123199801044556,‘13987012343’,‘北京’,‘共青团员’,001);
遍历结果
MySQL学生信息管理系统_第6张图片
2.删除数据delete:删除教师表中TeacNumber为1的人
代码为:delete from Teacher where TeacNumber=1
MySQL学生信息管理系统_第7张图片

删除之后:
在这里插入图片描述
3.修改数据update:

将Class表中的ClsNumber改为66:
update Class set ClsNumber=66 where ClsSno=001
修改前:
MySQL学生信息管理系统_第8张图片
修改后:

MySQL学生信息管理系统_第9张图片
4.查询数据select:(以Student为例)
查询前的Student表:

MySQL学生信息管理系统_第10张图片

1.查询来自北京的学生的学号及姓名:
select StuSno,StuName from Student where StuAddress=‘北京’
MySQL学生信息管理系统_第11张图片

(5)使用SQL语句创建需要的视图,实现数据管理
1.建立反映学生的学号姓名及身份证号的视图
create view VStudent(VStuSno,VStuName,VStuID)
as
select StuSno,StuName,StuID
from Student;
MySQL学生信息管理系统_第12张图片

(6)创建用户并进行授权:GRANT和REVOKE。
创建u1用户:
Create user u1;
GRANT:将查询Student表授予用户u1
grant select on table Stduent to u1;
REVOKE:将u1查询Student的权限取消
Remove select on table Student from u1;
(写出实验任务中的SQL语句并将结果进行截图。)

你可能感兴趣的:(MySQL,数据库)