首页 > 其他分享 >6.14

6.14

时间:2024-06-17 14:22:11浏览次数:11  
标签:sno 数据库 6.14 course SQL sc cno

实验一 数据库和表的建立、数据操作 一、实验目的: 掌握使用 SQL 语言进行数据定义和数据操纵的方法。 二、实验要求: 建立一个数据库 stumanage,建立三个关系表 student,course,sc。向表中插入 数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。 三、实验步骤: 1、 开始→程序→Microsoft SQL Server→SQL Server Management Stdio。 2、 在“连接到服务器”对话框中,选择“Windows 身份验证”,点击“连接”,进 入SQL Server Management Stdio操作界面。采用如下两种方式之一建立数据库。 3、 在“对象资源管理器”中右击“数据库”,在“新建数据库”对话框中输入数 据库名称 stumanage,设置数据库文件初始大小为 5M,限制文件增长 50M, 日志文件初始大小设为 2M,限制文件增长 5M,并更改文件存储路径。 4、 单击“新建查询”按钮,在 SQL 查询窗口中输入 SQL 语句,建立数据库 stumanage。然后单击工具栏上“执行”按钮(红色叹号)。下部的空白区显示 该语句的运行情况,将建立数据库的 SQL 语句写入实验报告。(注:以下操作 均在上部的空白区输入 SQL 语句,单击执行后,下部的空白区显示该语句的 运行情况。) 5、在 stumanage 数据库中,如下图建立表 student: 列名 数据类型 允许空 主键 说明 1 sno Char(8) 否 是 学号 2 sname Varchar(20) 是 否 姓名 3 sex Char(2) 是 否 性别 4 sdept Varchar(20) 是 否 所在系 如下图建立表:course 列名 数据类型 允许空 主键 说明 1 cno Char(6) 否 是 课程号 2 cname Varchar(20) 是 否 课程名 如下图建立表 sc:(注:包括两个外键,sno 和 cno 共同组成主键)2 列名 数据类型 允许空 主键 外键 说明 1 sno Char(8) 否 是 students(sno) 学号 2 cno Char(6) 否 是 course(cno) 课程号 3 grade int 否 否 否 成绩 6、将三条建表语句写入实验报告。 7、在 student 表中插入两条数据: (1)20050101,王飞,男,计算机系 ( 2)20050102,李丽,女,信息系 8、在 course 表中插入两条数据: (1)01,数据结构 ( 2)02,数据库原理 9、在 sc 表中插入两条数据: (1)20050101,01,70 ( 2)20050102,02,90 10、将此八条 SQL 语句写入实验报告。 11、对每一门课,求学生的平均成绩,并把结果以基本表的形式存入数据库。将操 作命令和所用 SQL 语句写入实验报告。 12、修改 sc 表中 sno 为 20050102、cno 为 02 的记录的 grade 属性值为 85,然后将 该条记录删除。将此两条 SQL 语句写入实验报告。 13、修改‘数据库原理’课程的所有学生成绩为 0。将此条 SQL 语句写入实验报告。 14、删除‘李丽’的所有选课情况。将此条 SQL 语句写入实验报告。 15、删除数据库中的三个表中的所有数据,将所用 SQL 语句写入实验报告。 16、删除数据库中的三个表结构。将所用 SQL 语句写入实验报告。 17、删除数据库,将所用语句写入实验报告。 四、实验报告注意事项及要求: 1、实验报告一律用“石家庄铁道大学实验报告纸”书写。 2、实验报告中明确写明姓名、班级、学号、实验时间、实验名称等各项表头。 3、实验报告各项完整:实验名称、实验内容、实验完成情况(包括实验设计思想、 主要技术问题的处理方法、实验过程等)、其他(说明、分析、建议、体会等)。

  1. 建立数据库 stumanage:
SQLCopy Code
CREATE DATABASE stumanage 
ON (NAME = 'stumanage_data', FILENAME = 'D:\stumanage\stumanage_data.mdf', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 5MB)
LOG ON (NAME = 'stumanage_log', FILENAME = 'D:\stumanage\stumanage_log.ldf', SIZE = 2MB, MAXSIZE = 5MB, FILEGROWTH = 5MB)
  1. 创建表 student:
SQLCopy Code 解释    
CREATE TABLE student
(
    sno CHAR(8) NOT NULL PRIMARY KEY,
    sname VARCHAR(20),
    sex CHAR(2),
    sdept VARCHAR(20)
)
  1. 创建表 course:
SQLCopy Code 解释    
CREATE TABLE course
(
    cno CHAR(6) NOT NULL PRIMARY KEY,
    cname VARCHAR(20)
)
  1. 创建表 sc:
SQLCopy Code 解释    
CREATE TABLE sc
(
    sno CHAR(8) NOT NULL,
    cno CHAR(6) NOT NULL,
    grade INT NOT NULL,
    PRIMARY KEY(sno, cno),
    FOREIGN KEY(sno) REFERENCES student(sno),
    FOREIGN KEY(cno) REFERENCES course(cno)
)
  1. 插入数据:
SQLCopy Code 解释    
INSERT INTO student VALUES ('20050101', '王飞', '男', '计算机系')
INSERT INTO student VALUES ('20050102', '李丽', '女', '信息系')

INSERT INTO course VALUES ('01', '数据结构')
INSERT INTO course VALUES ('02', '数据库原理')

INSERT INTO sc VALUES ('20050101', '01', 70)
INSERT INTO sc VALUES ('20050102', '02', 90)
  1. 对每一门课求平均成绩并存入基本表:
SQLCopy Code 解释    
-- 计算平均成绩
SELECT cno, AVG(grade) AS avg_grade
INTO course_average
FROM sc
GROUP BY cno

-- 将结果存入基本表
ALTER TABLE course ADD avg_grade DECIMAL(5, 2)
UPDATE course SET avg_grade = course_average.avg_grade FROM course_average WHERE course.cno = course_average.cno
  1. 修改 sc 表中 sno 为 20050102、cno 为 02 的记录的 grade 属性值为 85,然后将该条记录删除:
SQLCopy Code
UPDATE sc SET grade = 85 WHERE sno = '20050102' AND cno = '02'
DELETE FROM sc WHERE sno = '20050102' AND cno = '02'
  1. 修改‘数据库原理’课程的所有学生成绩为 0:
SQLCopy Code
UPDATE sc SET grade = 0 WHERE cno = '02'
  1. 删除‘李丽’的所有选课情况:
SQLCopy Code
DELETE FROM sc WHERE sno = '20050102'
  1. 删除数据库中的所有数据和表:
SQLCopy Code
DROP TABLE sc
DROP TABLE course
DROP TABLE student
  1. 删除数据库 stumanage:
SQLCopy Code
DROP DATABASE stumanage

标签:sno,数据库,6.14,course,SQL,sc,cno
From: https://www.cnblogs.com/binglinll/p/18252282

相关文章

  • 6.14
    复习计网以及数据库,完成了web的实验四<html><head><title>学生管理系统</title><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><linkrel="stylesheet"type="text/css"href="css/s......
  • 6.14博客
    周五了太棒了学习内容:安卓packagecom.example.app_02;importorg.junit.Rule;importorg.junit.Test;importstaticorg.junit.Assert.*;importcom.example.app_02.entity.Record;importcom.example.app_02.utils.RecordDao;importjava.util.ArrayList;/** *......
  • 6.14
    今日学习总结学习时间1,5hpackagecom.app.chapter04;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroidx.activity.EdgeToEdge;importandroidx.appcompat.app.AppCompatActivity;importandroidx.core.graphics.Insets;import......
  • 6.14实验四:共轭梯度法程序设计
    实验四:共轭梯度法程序设计一、实验目的掌握共轭梯度法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。  二、实验内容(1)求解无约束优化问题:(2)终止准则取;(3)完成FR共轭梯度法的MATLAB编程、调试;(4)选取几个与实验二......
  • 6.14安卓开发日记58
     实验三:Newton法程序设计一、实验目的掌握Hesse矩阵的计算方法和Newton法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。二、实验内容(1)求解无约束优化问题:;(2)终止准则取;(3)完成Newton法(牛顿法)的MATLAB编程、调试......
  • 6.14-二叉树遍历
    题目分类题目分类大纲如下:二叉树的种类在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。如图所示:这棵二叉树为满二叉树,也可以说深度为k,有......
  • 6.14 哈希表
    采用邻接表创建无向图G,依次输出各顶点的度。输入格式:输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数。输入第二行为顶点的信息,每个顶点只能用一个字符表示。依次输入j行,每行输入一条边依附的顶点。输出格式:依次输出各顶点的度,行末没有最后的空格。输入......
  • 6.14BFS,DFS
    7-1列出联通集给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出......
  • 6.14内容
    今天完成了数据库的实验四  数据库的备份和恢复实验四数据库的备份和恢复一、实验目的:熟悉并掌握数据库备份和恢复的原理和操作。二、实验要求:掌握存储设备的创建、使用。掌握数据库中数据的导入导出操作。掌握数据上的备份和恢复操作。掌握数据库备份策略的制定原理和......
  • 6.14《构建之法》
    再次深入《构建之法》,我仿佛踏上了一场对软件工程领域深度探索与自我反思的旅程。这本书不仅是一份实践指南,更像是一位智者,在我耳边低语,引导我理解软件开发的本质,以及如何在这个充满挑战与机遇的行业中稳健前行。以下是我在这次重读过程中获得的新见解和深化的感悟。###1.**软......