SQL 实验项目3_1-数据更新

大三上:数据库系统概论所有实验报告和课后作业

一、实验目的及要求

  1. 熟练使用DBMS提供的功能组件来实现向数据库中插入数据、修改数据和删除数据等操作;
  2. 掌握用INSERT、DELETE、UPDATE语句实现对数据库的增加、删除和修改;
  3. 进一步理解完整性约束的概念,了解DBMS对完整性约束检查的实现;

二、实验内容(或实验原理、实验拓扑)

  1. 数据的更新操作:包括实现对关系表进行插入、修改和删除操作。
  2. 体会完整性约束的作用,设置数据修改和删除的处理策略。当更新操作可能破坏参照完整性时,根据需要设置系统的操作策略。

三、实验设备与环境

I7 7700HQ+16G内存+48TB分布式硬盘的笔记本电脑、Windows 10 1903政府版、Microsoft SQL Server 2008 R2

四、实验设计方案(包括实验步骤、设计思想、算法描述或开发流程等)

  1. 启动DBMS服务器,视情况决定是否附加实验用数据库。
  2. 利用对象资源管理器,对指定数据库中的表进行数据的添加、修改和删除。尝试去做一些违反数据库定义中的约束的操作,分析反馈操作信息,并回答思考问题。
  3. 在查询编辑器中,利用INSERT、DELETE、UPDATE语句在指定的数据库的相关表中进行如下数据的添加、修改和删除。对操作中出现的问题进行分析,并加以解决。

第一阶段:在已经创建好的eshop数据库中的各表中添加样例数据。

  1. 在eshop数据库的members表中增加2条记录,内容如下:
    ‘jinjin’, ‘津津有味’,‘女’,‘1982-04-14’,‘北京市’,8200.0, ‘jinjin’
    ‘liuzc518’,‘刘志成’,‘男’,‘1972-05-18’,‘湖南株洲’,3500.0,‘liuzc518’
  2. 将姓名为“津津有味”的姓名修改为“刘津”
  3. 将m_sex(性别)为‘男’且m_address(家庭地址)为‘湖南株洲’的会员的m_salary(月薪)增加20%
  4. 删除m_address(家庭地址)为‘北京市’的会员记录。
  5. 删除members表中所有记录。

第二阶段:教材P130 习题 5、(8)-(11)

  1. 针对习题4中的四个表试用SQL语言完成以下各项操作:
    (8)把全部红色零件的颜色改成蓝色。
    (9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。
    (10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。
    (11)请将(S2, J6, P4, 200)插入供应情况关系。

第三阶段:更新“学生—课程”数据库(选作)。

  1. 向学生表S中插入一行数据。(分析插入数据的学号与已有学号相同或不同时的反馈信息)。
  2. 根据学生表和课程表生成一个“计算机”系学生的成绩临时表CGRADE,表中包括SN、CNO、GRADE三个属性。
  3. 将王玲所学的高等数学成绩改为86.0.
  4. 删除成绩低于所有课程平均成绩的选课元组。
  5. 设置数据修改和删除的处理策略。(要求选课表中有S04的选课信息)
    a.将学生表中学号为S04的学生学号修改为S28。
    b.删除学生表中学号为S28的学生信息。
    查看执行操作后表SC的变化情况或不能执行操作的反馈信息,并加以分析。

五、实验结果(包括设计效果、测试数据、运行结果等)

第一阶段:在已经创建好的eshop数据库中的各表中添加样例数据。

  1. 在eshop数据库的members表中增加2条记录,内容如下:
    ‘jinjin’, ‘津津有味’,‘女’,‘1982-04-14’,‘北京市’,8200.0, ‘jinjin’
    ‘liuzc518’,‘刘志成’,‘男’,‘1972-05-18’,‘湖南株洲’,3500.0,‘liuzc518’
    在这里插入图片描述
  2. 将姓名为“津津有味”的姓名修改为“刘津”
    在这里插入图片描述
  3. 将m_sex(性别)为‘男’且m_address(家庭地址)为‘湖南株洲’的会员的m_salary(月薪)增加20%。
    在这里插入图片描述
  4. 删除m_address(家庭地址)为‘北京市’的会员记录。
    在这里插入图片描述
  5. 删除members表中所有记录。
    在这里插入图片描述

第二阶段:教材P130 习题 5、(8)-(11)

  1. 针对习题4中的四个表试用SQL语言完成以下各项操作:
    (8)把全部红色零件的颜色改成蓝色。
    在这里插入图片描述
    (9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。
    在这里插入图片描述
    (10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。
    在这里插入图片描述
    (11)请将(S2, J6, P4, 200)插入供应情况关系。
    在这里插入图片描述

第三阶段:更新“学生—课程”数据库(选作)。

  1. 向学生表S中插入一行数据。(分析插入数据的学号与已有学号相同或不同时的反馈信息)。
    插入数据的学号与已有学号相同时:
    在这里插入图片描述
    插入数据的学号与已有学号不相同时:
    在这里插入图片描述
  2. 根据学生表和课程表生成一个“计算机”系学生的成绩临时表CGRADE,表中包括SN、CNO、GRADE三个属性。
    在这里插入图片描述
  3. 将王玲所学的高等数学成绩改为86.0.
  4. 删除成绩低于所有课程平均成绩的选课元组。
  5. 设置数据修改和删除的处理策略。(要求选课表中有S04的选课信息)
    a.将学生表中学号为S04的学生学号修改为S28。
    b.删除学生表中学号为S28的学生信息。
    查看执行操作后表SC的变化情况或不能执行操作的反馈信息,并加以分析。

六、实验小结(包括收获、心得体会、注意事项、存在问题及解决办法、建议等)

操作过程中,注意以下几点:

  1. 在输入数据时,要注意数据类型、键和数据约束的限制。
  2. 数据更改和删除时要注意参照完整性约束。
  3. 往基本表中插入记录时表名后面可带列名表(插入指定列及列顺序,指定对应列的值),也可不带列名表(指定所有列的值,按固定顺序)。

七、附录(包括作品、流程图、源程序及命令清单等)

  • select.sql
    -- 第一阶段:在已经创建好的eshop数据库中的各表中添加样例数据。
    USE eshop
    --(1)在eshop数据库的members表中增加2条记录,内容如下: 
    --‘jinjin’, ‘津津有味’,‘女’,‘1982-04-14’,‘北京市’,8200.0,	‘jinjin’
    --‘liuzc518’,‘刘志成’,‘男’,‘1972-05-18’,‘湖南株洲’,3500.0,‘liuzc518’
    INSERT INTO members VALUES('jinjin','津津有味','1982-04-14','女','北京市',8200.0,'jinjin')
    INSERT INTO members VALUES('liuzc518','刘志成','1972-05-18','男','湖南株洲',3500.0,'liuzc518')
    
    --(2)将姓名为“津津有味”的姓名修改为“刘津”
    update members set M_name='刘津' where M_account='jinjin'
    
    --(3)将m_sex(性别)为‘男’且m_address(家庭地址)为‘湖南株洲’的会员的m_salary(月薪)增加20%
    update members set M_salary*=1.2 where M_sex='男' and M_address='湖南株洲'
    
    --(4)删除m_address(家庭地址)为‘北京市’的会员记录。
    delete from members where M_address='北京市'
    
    --(5)删除members表中所有记录。
    delete from members
    
    --第二阶段:教材P130 习题 5、(8)-(11)
    use spj
    --(8)把全部红色零件的颜色改成蓝色。
    UPDATE P SET PColor='蓝' WHERE PColor='红' ;
    
    --(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。
    UPDATE SPJ SET SNO='S3' WHERE SNO='S5'AND JNO='J4' AND PNO='P6'
    
    --(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。
    DELETE FROM SPJ WHERE SNO='S2';
    DELETE FROM S WHERE SNO='S2';
    
    --(11)请将(S2, J6, P4, 200)插入供应情况关系。
    INSERT INTO SPJ(SNO, JNO, PNO, QTY) /*INTO子句中指明列名*/
    VALUES('S2', 'J6', 'P4', 200); /*插入的属性值与指明列要对应*/
    
    --第三阶段:更新“学生—课程”数据库(选作)。
    use sc
    --(1)向学生表S中插入一行数据。(分析插入数据的学号与已有学号相同或不同时的反馈信息)。
    select * from Student
    insert Student Values('s01','王玲','计算机','1986-03-01','男')
    insert Student Values('s010','王玲1','计算机','1986-03-01','男')
    
    --(2)根据学生表和课程表生成一个“计算机”系学生的成绩临时表CGRADE,表中包括SN、CNO、GRADE三个属性。
    create table CGRADE (
    	SNo CHAR(9) not null,
    	CNo CHAR(4) not null,
    	GRADE SMALLINT
    	)
    insert CGRADE select Student.SNo, sc.CNo,sc.Grade from Student, sc where Student.SNo=sc.SNo AND Student.SDept='计算机'
    
    --(3)将王玲所学的高等数学成绩改为86.0.
    select Grade from sc where Sno in select SNo from Student where SName='王玲'
    update sc set Grade=86.0 where SNo in select SNo from Student where SName='王玲'
    
    --(4)删除成绩低于所有课程平均成绩的选课元组。
    --(5)设置数据修改和删除的处理策略。(要求选课表中有S04的选课信息)
    --	a.将学生表中学号为S04的学生学号修改为S28。
    --	b.删除学生表中学号为S28的学生信息。
    --	查看执行操作后表SC的变化情况或不能执行操作的反馈信息,并加以分析。
    
  • eshop.sql
    if exists (select * from sys.databases where name = 'eshop')
    	begin
    	use master
    	drop database eshop
    	end
    
    CREATE DATABASE eshop
    
    -- 设置工作数据库
    use eshop
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'products') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table products;
    
    -- 创建表
    CREATE TABLE products(
    	P_no varchar(20) NOT NULL PRIMARY Key,
    	P_name varchar(50) NOT NULL,
    	P_date datetime NOT NULL,
    	P_quantity int NOT NULL,
    	P_price SMALLMONEY NOT NULL,
    	P_infomation varchar(500) NOT NULL,
    );
    
    --插入数据
    INSERT products(P_no, P_name, P_date, P_quantity, P_price, P_infomation) 
    VALUES('P_001', '自行车', '2005-05-31 00:00:00.000', 10, 586, '价廉物美')
    INSERT products VALUES('P_002', '爱国者MP3', '2005-05-31 00:00:00.000', 100, 450, '价廉物美')
    INSERT products VALUES('P_003', '商务通', '2005-05-20 00:00:00.000', 10, 850, '价廉物美')
    INSERT products VALUES('P_004', '名人好记星', '2005-05-31 00:00:00.000', 100, 550, '价廉物美')
    INSERT products VALUES('P_005', '奥美嘉U盘', '2005-05-31 00:00:00.000', 100, 350, '价廉物美')
    
    --产品表添加记录
    INSERT INTO products VALUES('0130810324','清华同方电脑','2005-12-11',7,8000.0,'优惠多多')
    INSERT INTO products VALUES('0140810330','洗衣粉','2005-05-31',1000,8.6,'特价销售')
    INSERT INTO products VALUES('0140810332','红彤彤腊肉','2005-5-20',43,15.0,'是一种卫生食品')
    INSERT INTO products VALUES('0140810333','力士牌香皂','2005-05-06',22,6.0,'是一种清洁用品')
    INSERT INTO products VALUES('0240810330','电动自行车','2005-05-31',10,1586.0,'价廉物美')
    INSERT INTO products VALUES('0240810333','自行车','2005-05-31',10,586.0,'价廉物美')
    INSERT INTO products VALUES('0910810001','爱国者MP3','2005-05-31',100,450.0,'价廉物美')
    INSERT INTO products VALUES('0910810002', '商务通','2005-05-20',10,850.0,'价廉物美')
    INSERT INTO products VALUES('0910810003','名人好记星','2005-05-31',100,550.0,'价廉物美')
    INSERT INTO products VALUES('0910810004','奥美嘉U盘','2005-05-31',100,350.0,'价廉物美')
    
    SELECT * FROM products;
    
    -- 设置工作数据库
    use eshop
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'members') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table members;
    
    -- 创建表
    CREATE TABLE members(
    	M_account varchar(20) NOT NULL PRIMARY Key,
    	M_name varchar(20) NOT NULL,
    	M_birth datetime NULL,
    	M_sex char(2) NULL,
    	M_address varchar(50) NULL,
    	M_salary decimal(7, 0) NOT NULL,
    	M_password varchar(20) NOT NULL,
    );
    
    -- 插入数据
    INSERT members(M_account, M_name, M_birth, M_sex, M_address, M_salary, M_password)
    VALUES('M_001', '张三', '1985-09-02 00:00:00.000', '男', '平顶山', 2500, '123456')
    INSERT members VALUES('M_002', '李四', '1986-03-01 00:00:00.000', '男', '洛阳', 2600, '111111')
    INSERT members VALUES('M_003', '小红', '1987-01-02 00:00:00.000', '女', '郑州', 3000, '222222')
    INSERT members VALUES('M_004', '小菊', '1988-01-01 00:00:00.000', '女', '开封', 2700, '333333')
    INSERT members VALUES('M_005', '小明', '1985-02-03 00:00:00.000', '男', '漯河', 2400, '444444')
    
    --会员表添加记录
    INSERT INTO members VALUES('liuzc518','刘志成','1972-05-18','男','湖南株洲',3500.0,'liuzc518')
    INSERT INTO members VALUES('liuzc','刘爱平','1974-07-18','男','江西南昌',4500.0,'liuzc')
    INSERT INTO members VALUES('zhao888','赵爱云','1972-02-12','男','湖南株洲',5500.0,'zhao888')
    INSERT INTO members VALUES('wangym','王咏梅','1974-08-06','女','湖南长沙',4000.0,'wangym0806')
    INSERT INTO members VALUES('jinjin','津津有味','1982-04-14','女','北京市',8200.0,'jinjin')
    INSERT INTO members VALUES('lfz','刘法治','1976-08-26','男','天津市',4500.0,'lfz0826')
    INSERT INTO members VALUES('zhangzl','张自梁','1975-04-20','男','湖南株洲',4300.0,'zhangzl')
    
    SELECT * FROM members
    
    
    -- 设置工作数据库
    use eshop
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'orders') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table orders;
    
    -- 创建表
    CREATE TABLE orders(
    	M_account varchar(20) NOT NULL,
    	P_no varchar(20) NOT NULL,
    	O_quantity int NOT NULL,
    	O_date datetime NOT NULL,
    	O_confirm_state bit NOT NULL,
    	O_pay_state bit NOT NULL,
    	O_send_state bit NOT NULL,
    	CONSTRAINT M_P PRIMARY KEY(M_account,P_no)
    );
    
    --插入数据
    INSERT orders(M_account, P_no, O_quantity, O_date, O_confirm_state, O_pay_state, O_send_state) 
    VALUES('M_001', 'P_001', 1, '2005-10-09 00:00:00.000', 0, 0, 0)
    INSERT orders VALUES('M_001', 'P_002', 1, '2005-10-09 00:00:00.000', 1, 1, 0)
    INSERT orders VALUES('M_002', 'P_001', 2, '2005-10-09 00:00:00.000', 1, 1, 0)
    INSERT orders VALUES('M_003', 'P_003', 1, '2005-08-09 00:00:00.000', 1, 0, 0)
    INSERT orders VALUES('M_004', 'P_004', 1, '2005-08-09 00:00:00.000', 1, 1, 1)
    
    --订单表添加记录
    INSERT INTO orders VALUES('liuzc','0130810324',1,'2005-10-09',0,0,0)
    INSERT INTO orders VALUES('liuzc','0910810004',2,'2005-10-09',1,1,0)
    INSERT INTO orders VALUES('liuzc','0910810001',1,'2005-10-09',1,1,0)
    INSERT INTO orders VALUES('wangym','0910810001',1,'2005-08-09',1,0,0)
    INSERT INTO orders VALUES('jinjin','0910810004',1,'2005-08-09',1,1,1)
    INSERT INTO orders VALUES('lfz','0910810001',1,'2005-08-09',0,0,0)
    INSERT INTO orders VALUES('lfz','0910810004',2,'2005-08-09',1,1,1)
    INSERT INTO orders VALUES('zhao888','0240810333',2,'2005-06-06',1,1,0)
    
    SELECT * FROM orders;
    
  • SPJ.sql
    if exists(select top 1 * from sys.databases where name = 'spj')
    	begin
    	use master;
    	drop database spj;
    	end
    
    CREATE DATABASE spj
    
    -- 设置工作数据库
    use spj
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'S') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table S;
    
    -- 创建表
    CREATE TABLE S(
    	SNo CHAR(9) PRIMARY Key,
    	SName CHAR(20),
    	SStatus INT,
    	SCity CHAR(20)
    	);
    
    --插入数据
    INSERT S(SNo, SName, SStatus, SCity) 
    VALUES('S1', '精益', 20, '天津');
    INSERT S VALUES('S2', '盛锡', 10, '北京');
    INSERT S VALUES('S3', '东方红', 30, '北京');
    INSERT S VALUES('S4', '丰泰盛', 20, '天津');
    INSERT S VALUES('S5', '为民', 30, '上海');
    
    SELECT * FROM S;
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'P') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    	drop table P;
    
    -- 创建表
    CREATE TABLE P(
    	PNo CHAR(9) PRIMARY Key,
    	PName CHAR(20),
    	PColor CHAR(6),
    	PWeight int
    	);
    
    --插入数据
    INSERT P(PNo, PName, PColor, PWeight) 
    VALUES('P1', '螺母', '红', 12);
    INSERT P VALUES('P2', '螺栓', '绿', 17);
    INSERT P VALUES('P3', '螺丝刀', '蓝', 14);
    INSERT P VALUES('P4', '螺丝刀', '红', 14);
    INSERT P VALUES('P5', '凸轮', '蓝', 40);
    INSERT P VALUES('P6', '齿轮', '红', 30);
    
    
    SELECT * FROM P;
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'J') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    	drop table J;
    
    -- 创建表
    CREATE TABLE J(
    	JNO CHAR(9) PRIMARY Key,
    	JNAME CHAR(20),
    	JCITY CHAR(20),
    	);
    
    --插入数据
    INSERT J(JNO, JNAME, JCITY) 
    VALUES('J1', '三建', '北京');
    INSERT J VALUES('J2', '一汽', '长春');
    INSERT J VALUES('J3', '弹簧厂', '天津');
    INSERT J VALUES('J4', '造船厂', '天津');
    INSERT J VALUES('J5', '机车厂', '唐山');
    INSERT J VALUES('J6', '无线电厂', '常州');
    INSERT J VALUES('J7', '半导体厂', '南京');
    
    SELECT * FROM J;
    
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'SPJ') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    	drop table SPJ;
    
    -- 创建表
    CREATE TABLE SPJ(
    	SNo CHAR(9),
    	PNo CHAR(9),
    	JNo CHAR(9),
    	QTY int,
    	PRIMARY KEY(SNo, PNo, JNo),
    	FOREIGN KEY(SNo)REFERENCES S(SNo),
    	FOREIGN KEY(PNo)REFERENCES P(PNo),
    	FOREIGN KEY(JNo)REFERENCES J(JNo),
    	);
    
    --插入数据
    INSERT SPJ(SNo, PNo, JNo, QTY) 
    VALUES('S1', 'P1', 'J1', 200);
    INSERT SPJ VALUES('S1', 'P1', 'J3', 100);
    INSERT SPJ VALUES('S1', 'P1', 'J4', 700);
    INSERT SPJ VALUES('S1', 'P2', 'J2', 100);
    INSERT SPJ VALUES('S2', 'P3', 'J2', 200);
    INSERT SPJ VALUES('S2', 'P3', 'J4', 500);
    INSERT SPJ VALUES('S2', 'P3', 'J5', 400);
    INSERT SPJ VALUES('S2', 'P5', 'J1', 400);
    INSERT SPJ VALUES('S2', 'P5', 'J2', 100);
    INSERT SPJ VALUES('S3', 'P1', 'J1', 200);
    INSERT SPJ VALUES('S3', 'P3', 'J1', 200);
    INSERT SPJ VALUES('S4', 'P5', 'J1', 100);
    INSERT SPJ VALUES('S4', 'P6', 'J3', 300);
    INSERT SPJ VALUES('S4', 'P6', 'J4', 200);
    INSERT SPJ VALUES('S5', 'P2', 'J4', 100);
    INSERT SPJ VALUES('S5', 'P3', 'J1', 200);
    INSERT SPJ VALUES('S5', 'P6', 'J2', 200);
    INSERT SPJ VALUES('S5', 'P6', 'J4', 500);
    
    SELECT * FROM SPJ;
    
  • sc.sql
    if exists(select top 1 * from sys.databases where name = 'sc')
    	begin
    	use master;
    	drop database sc;
    	end
    
    CREATE DATABASE sc
    
    -- 设置工作数据库
    use sc
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'Student') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table Student;
    
    -- 创建表
    CREATE TABLE Student(
    	SNo CHAR(9) PRIMARY Key,
    	SName CHAR(20) UNIQUE,
    	SDept CHAR(20),
    	SB datetime,
    	SSex CHAR(2),
    	);
    
    --插入数据
    --INSERT Student(SNo, SName, SSex, SAge, SDept) 
    --VALUES('201215121', '李勇', '男', 20, 'CS');
    --INSERT Student VALUES('201215122', '刘晨', '女', 19, 'CS');
    --INSERT Student VALUES('201215123', '王敏', '女', 18, 'MA');
    --INSERT Student VALUES('201215125', '张立', '男', 19, 'IS');
    
    INSERT INTO student VALUES('s01','王玲','计算机','1986-03-01','男')
    INSERT INTO student VALUES('s02','李想','计算机','1985-04-01','女')
    INSERT INTO student VALUES('s03','罗军','数学','1986-03-01','男')
    INSERT INTO student VALUES('s04','李爱民','英语','1987-06-01','女')
    INSERT INTO student VALUES('s05','季然','英语','1986-02-01','女')
    INSERT INTO student VALUES('s06','王明','数学','1987-06-01','男')
    
    SELECT * FROM Student;
    
    -- 设置工作数据库
    use sc
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'Course') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table Course;
    
    -- 创建表
    CREATE TABLE Course(
    	CNo CHAR(4) PRIMARY Key,
    	CName CHAR(40) NOT null,
    	CPno CHAR(4),
    	--CCredit SMALLINT,
    	--FOREIGN KEY(CPno)REFERENCES Course(CNo)
    		--表级完整性约束条件,CPno是外码,被参照表是Course,被参照列是CNo
    	);
    
    --插入数据
    --INSERT Course(CNo, CName, CPno, CCredit)
    --VALUES('1', '数据库', 5, 4);
    --INSERT Course VALUES('2', '数学', null, 2);
    --INSERT Course VALUES('3', '信息系统', 1, 4);
    --INSERT Course VALUES('4', '操作系统', 6, 3);
    --INSERT Course VALUES('5', '数据结构', 7, 4);
    --INSERT Course VALUES('6', '数据处理', null, 2);
    --INSERT Course VALUES('7', 'PASCAL语言', 6, 4);
    
    INSERT INTO course VALUES('c01','高等数学',null)
    INSERT INTO course VALUES('c02','数据结构',null)
    INSERT INTO course VALUES('c03','操作系统','c02')
    INSERT INTO course VALUES('c04','数据库','c03')
    INSERT INTO course VALUES('c05','作战指挥','c04')
    INSERT INTO course VALUES('c06','离散数学','c01')
    INSERT INTO course VALUES('c07','信息安全','c06')
    INSERT INTO course VALUES('c08','大学英语',null)
    INSERT INTO course VALUES('c09','商贸英语','c08')
    INSERT INTO course VALUES('c10','大学物理',null)
    INSERT INTO course VALUES('c11','网络',null)
    INSERT INTO course VALUES('c12','C程序',null)
    
    SELECT * FROM Course;
    
    -- 设置工作数据库
    use sc
    
    -- 删除表
    if exists (select * from sysobjects where id = object_id(N'SC') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      drop table SC;
    
    -- 创建表
    CREATE TABLE SC(
    	SNo CHAR(9),
    	CNo CHAR(4),
    	Grade SMALLINT,
    	PRIMARY KEY(SNo, CNo),
    	FOREIGN KEY(Sno)REFERENCES Student(Sno),
    	FOREIGN KEY(Cno)REFERENCES Course(CNo)
    	);
    
    --插入数据
    --INSERT SC(SNo, CNo, Grade) 
    --VALUES('201215121', '1', 92);
    --INSERT SC VALUES('201215121', '2', 85);
    --INSERT SC VALUES('201215121', '3', 88);
    --INSERT SC VALUES('201215122', '2', 90);
    --INSERT SC VALUES('201215122', '3', 80);
    
    INSERT INTO sc VALUES('s01','c01',80.0)
    INSERT INTO sc VALUES('s01','c02',98.0)
    INSERT INTO sc VALUES('s01','c03',85.0)
    INSERT INTO sc VALUES('s01','c04',80.0)
    INSERT INTO sc VALUES('s02','c07',89.0)
    INSERT INTO sc VALUES('s02','c05',88.0)
    INSERT INTO sc VALUES('s02','c06',78.0)
    INSERT INTO sc VALUES('s03','c04',89.0)
    INSERT INTO sc VALUES('s03','c01',88.0)
    INSERT INTO sc VALUES('s03','c03',78.0)
    INSERT INTO sc VALUES('s04','c07',77.0)
    INSERT INTO sc VALUES('s04','c02',null)
    INSERT INTO sc VALUES('s04','c09',83.0)
    INSERT INTO sc VALUES('s05','c10',75.0)
    INSERT INTO sc VALUES('s05','c11',90.0)
    INSERT INTO sc VALUES('s05','c03',94.0)
    INSERT INTO sc VALUES('s06','c09',89.0)
    INSERT INTO sc VALUES('s06','c10',88.0)
    INSERT INTO sc VALUES('s06','c11',null)
    
    SELECT * FROM SC;
    
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,关于 ASP 和 SQL Server 的实验项目,这里提供一个可能的参考方案: 项目名称:图书管理系统 项目描述:设计一个简单的图书管理系统,包括图书信息的录入、查询、修改和删除等功能,用户可以通过 ASP 网页来实现这些操作。 技术要点: 1. 数据库设计:使用 SQL Server 数据库,设计图书信息表和用户信息表,建立关联关系。 2. 网页设计:使用 ASP 技术,设计用户登录页面、图书信息录入页面、图书信息查询页面、图书信息修改页面、图书信息删除页面等页面。 3. 数据库操作:使用 ASP 与 SQL Server 数据库进行交互,实现数据库的增删改查操作。 4. 用户权限控制:根据用户登录信息,进行权限控制,只有管理员才能进行图书信息的修改和删除操作。 实验步骤: 1. 数据库设计:根据项目需求,设计数据库结构,建立图书信息表和用户信息表,并建立关联关系。 2. 网页设计:使用 ASP 技术,设计页面布局,包括用户登录页面、图书信息录入页面、图书信息查询页面、图书信息修改页面、图书信息删除页面等页面。 3. 数据库操作:使用 ADO(ActiveX Data Objects)技术,实现 ASP 与 SQL Server 数据库之间的数据交互,包括数据的增删改查等操作。 4. 用户权限控制:根据用户登录信息,判断用户权限,只有管理员才能进行图书信息的修改和删除操作。 5. 测试调试:进行系统测试,发现问并进行修复调试。 希望这个参考方案对您有所帮助,如果您还有其他问,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COCO56(徐可可)

建议微信红包:xucoco56

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值