数据库实验报告之教学管理-建表10p
- 格式:docx
- 大小:83.28 KB
- 文档页数:4
数据库和表的创建实验报告《数据库和表的创建实验报告》摘要:本实验报告旨在介绍数据库和表的创建过程,以及相关的实验步骤和结果。
通过实验,我们深入了解了数据库和表的概念,以及如何使用SQL语句创建和管理数据库和表。
实验结果表明,我们成功创建了数据库和表,并能够对其进行基本的操作和管理。
1. 实验背景数据库是一个存储和管理数据的系统,它可以帮助我们有效地组织和管理大量的数据。
在数据库中,数据以表的形式存储,每个表包含多个字段和记录。
在本次实验中,我们将学习如何使用SQL语句创建数据库和表,并进行相关的实验操作。
2. 实验目的本次实验的主要目的是让我们掌握数据库和表的创建方法,以及相关的SQL语句和操作。
通过实验,我们将学习如何创建数据库、创建表,以及对表进行基本的操作和管理。
3. 实验步骤首先,我们需要使用SQL语句创建一个新的数据库。
我们可以使用CREATE DATABASE语句来创建数据库,语法如下:CREATE DATABASE database_name;接下来,我们需要在创建的数据库中创建一个新的表。
我们可以使用CREATE TABLE语句来创建表,语法如下:CREATE TABLE table_name (column1 datatype,column2 datatype,...);在创建表之后,我们可以使用INSERT语句向表中插入数据,使用SELECT语句查询表中的数据,使用UPDATE语句更新表中的数据,以及使用DELETE语句删除表中的数据。
4. 实验结果经过实验操作,我们成功创建了一个新的数据库,并在其中创建了一个新的表。
我们使用INSERT语句向表中插入了一些数据,使用SELECT语句查询了表中的数据,使用UPDATE语句更新了表中的数据,以及使用DELETE语句删除了表中的数据。
实验结果表明,我们能够熟练地使用SQL语句对数据库和表进行操作和管理。
5. 实验结论通过本次实验,我们深入了解了数据库和表的创建方法,以及相关的SQL语句和操作。
一、实验目的1. 熟悉数据库的基本概念和结构。
2. 掌握数据库的创建、修改和删除操作。
3. 熟练运用SQL语言进行数据的查询、插入、更新和删除操作。
4. 了解数据库的安全性和备份与恢复。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据7. 修改表结构8. 删除表9. 数据库备份与恢复四、实验步骤1. 创建数据库(1)打开MySQL Workbench,连接到本地MySQL服务器。
(2)在“查询”窗口中输入以下SQL语句创建数据库:```sqlCREATE DATABASE student;```(3)执行SQL语句,创建名为student的数据库。
2. 创建表(1)在“查询”窗口中输入以下SQL语句创建学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```(2)执行SQL语句,创建名为student的表。
3. 插入数据(1)在“查询”窗口中输入以下SQL语句插入数据:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, '男'); INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, '女'); ```(2)执行SQL语句,向student表中插入三条数据。
数据库的管理实验报告数据库的管理实验报告引言数据库管理是现代信息管理的重要组成部分,通过对数据的存储、检索、更新和删除等操作,实现对数据的有效管理和利用。
本篇实验报告将介绍我们小组在数据库管理实验中的实践过程和结果。
实验目的本次实验的目的是通过使用数据库管理系统,实现对一个简单的学生信息管理系统的设计和实现。
通过这个实验,我们将学习和掌握数据库的基本操作和管理技术,并能够在实际应用中灵活运用。
实验环境我们使用的数据库管理系统是MySQL,它是一个免费、开源的关系型数据库管理系统。
我们选择MySQL作为实验环境,是因为它具有广泛的应用领域和强大的功能,同时也有丰富的学习资源和社区支持。
实验过程1. 数据库设计在实验开始之前,我们首先进行了数据库的设计。
我们确定了需要存储的数据表,包括学生表、课程表和成绩表。
学生表包括学生的学号、姓名、性别和年龄等信息;课程表包括课程的编号、名称和学分;成绩表包括学生的学号、课程的编号和成绩等信息。
通过这些表的设计,我们可以建立学生、课程和成绩之间的关联关系,实现对学生信息和成绩的管理。
2. 数据库创建在数据库设计完成后,我们使用MySQL命令行工具创建了一个名为"student_management"的数据库。
通过创建数据库,我们为后续的实验操作提供了一个存储数据的空间。
3. 数据表创建在数据库创建完成后,我们使用MySQL命令行工具创建了三个数据表,分别是"student"、"course"和"score"。
通过创建这些数据表,我们实现了对学生信息、课程信息和成绩信息的存储。
4. 数据插入在数据表创建完成后,我们使用MySQL命令行工具插入了一些测试数据。
通过插入数据,我们可以验证数据库的设计是否合理,并且为后续的实验操作提供了一些具体的数据。
5. 数据查询在数据插入完成后,我们使用MySQL命令行工具进行了一些数据查询操作。
《数据库原理及应用》实验报告创建数据库和表题目:创建数据库和表学生姓名:XXXX1(《数据库原理及应用》实验报告一、实验目的在了解SQL Server 数据库的逻辑结构,物理结构,基本数据类型,以及表的结构特点的基础上,学会在“对象资源管理器”中创建数据库和表,重点学会使用T-SQL语句创建数据库和表。
二、实验内容按照题目要求创建一数据库,并按要求在该数据库内创建相应数据表。
在创建过程中需分别使用界面方式创建和命令方式创建。
实验题目创建用于企业管理的员工管理数据库YGGL,其逻辑文件初始大小10MB,最大50MB,自动增长,按5%比例增长,日志文件初始大小2MB,最大5MB,按1MB增长,数据库和事务日志的逻辑文件名和物理文件名采用缺省值,另在该数据库内创建3个数据表,Employees表,Departments表,Salary表,具体表结构见课本P-283页所给出三个表格。
实验准备首先明确创建数据库的用户必须是系统管理员或者是被授予使用CREATEDATABASE语句的用户;其次创建过程中必须确定数据库名,所用者,数据库大小和存储其文件;最后根据表的结构按要求创建表;三、实验程序使用T-SQL语句创建数据库YGGL:CREATE DATABASE YGGL ON (NAME='YGGL_Data',FILENAME='C:\\Program Files\\Microsoft SQLServer\\MSSQL.1\\MSSQL\\Data\\YGGL.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=10% ) LOG ON (NAME='YGGL_Log',FILENAME='C:\\Program Files\\Microsoft SQLServer\\MSSQL.1\\MSSQL\\Data\\YGGL_Log.ldf', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB ) GO使用T-SQL语句创建Employees表:USE YGGL GOCREATE TABLE Employees( EmployeeID char(6)NOT NULL PRIMARY KEY, Name char(10)NOT NULL, Education char(4)NOT NULL, Birthday datetime NOT NULL, Sex bit NOT NULL DEFAULT 1,2WorkYear tinyint NULL, Address varchar(40)NULL, PhoneNumberchar(12)NULL, DepartmentID char(3)NOT NULL, ) GO使用T-SQL语句创建Departments表:USE YGGL GOCREATE TABLE Departments( DepartmentID char(3)NOT NULL PRIMARY KEY, DepartmentName char(20)NOT NULL, Note char(100)NULL ) GO使用T-SQL语句创建Salary表:USE YGGL GOCREATE TABLE Salary( EmployeeID char(6)NOT NULL PRIMARY KEY, InCome float NOT NULL, OutCome float NOT NULL ) GO四、实验结果实验通过编写程序最终获得一新的数据库以及在该库内的三个空表如下图:Employees表Departments表Salary表3五、实验总结这学期是第一次接触SQL Server,在最初的学习过程中对SQL Server环境不是很熟悉,在课堂上学习了有关它的基本的数据类型,空值的概念,数据库的基本概念以及和数据表的相关知识,在未进行上机实验之前主要对理论知识进行掌握,但感觉不是很明白,当开始进行上机实验后,按照老师课上讲的基本操作在结合课本的相关知识,能在老师和同学的帮助下完成实验内容,我感觉很充实。
实验题目:数据库及数据库中表的建立学院:计算机班级:网络0803 学号:姓名:任课教师:孟彩霞时间:一.实验目的1.熟悉SQL Server2000的环境。
2.掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解SQLServer2000进行配置的方法。
3.掌握查询分析器的基本使用方法以及在查询分析器中实行T-SQL语气的方法。
4.了解SQL Server 2000数据库的逻辑结构和物理结构。
5.学会在企业管理器中创建数据库及查看数据库属性。
6.学会使用T-SQL语气创建数据库。
7.了解SQL Server 2000的基本数据类型、空值的概念,以及表的结构特点。
8.学会使用T-SQL语气和企业管理器创建表结构和修改表结构。
9.学会使用SQL Server 2000提供的数据完整性功能,并在创建表时定义表的数据完整性。
通过实验进一步理解数据完整性的概念及分类。
二.实验内容1.学会使用企业管理器和查询分析器管理工具。
2.使用企业管理器创建数据库。
3.在查询分析器中使用T-SQL语句创建数据库。
4.使用T-SQL语句创建一个图书管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小,增长方式,文件的增长上限等均可采用默认值。
5.使用T-SQL语句或企业管理器创建课本第二章习题10的SPJ数据库,可以自行定义文件大小,增长方式等。
6.查看物理磁盘目录,理解并分析SQL Server 2000数据库的存储结构。
7.使用企业管理器查看数据库属性。
8.使用T-SQL语句或企业管理器对于(2)-(5)中建立的数据库进行和删除操作。
9.用企业管理器在教务管理数据库JWGL中创建学生表STUDENT,课程表COURSE,学生选课表SC。
10.用TQL语句在MARKET数据库中创建客户信息基本表CUOSTOMERS,货品信息表GOODS,订单信息表ORDERS。
11.使用T-SQL语句在SPJ数据库中建立第2章习题10中的4张表:S,P,J,SPJ.12.使用T-SQL语句在图书借阅管理数据库TSGL中建立图书,读者和借阅3个表。
教务辅助管理系统数据库设计数据库设计一般包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。
一、数据库需求分析:(1)通过调研得出教务辅助管理系统具备的功能:1)对上课教师基本信息进行管理。
2)对全院开设的课程进行管理。
3)录入教师基本上课信息。
4)实现自动排课功能。
5)简单计算工作量。
6)能够进行各种数据统计。
7)能够输出相应的报表。
8)具有数据备份和数据恢复功能。
(2)由以上功能得出数据库需求分析的DAD(数据流图)和DD(数据字典):<1>数据流图(DAD):图8.0 教务辅助管理系统最高数据流图图8.1.1教师基本信息管理数据流图图8.1.1 .A应聘数据流图图8.1.1. B编辑数据流图图8.1.2教师上课信息管理数据流图注:由于“编辑上课信息”与“图8.1.1 B编辑数据流图”类似,这里不再制定数据流图。
图8.2安全设置数据流图图8.3课程管理数据流图<2>数据字典(DD):1)教师基本信息,包括数据项有:教师编号、姓名、性别、职称、身份证号、专业、住址、电话等。
2)上课信息,包括数据项有:教师编号、姓名、性别、课程号、课程名称、上课时间、上课班级、月工资等。
3)课程信息,包括数据项有:课程号、课程名称、上课班级、上课时间、教师姓名等。
4)工资信息,包括数据项有:教师编号、教师姓名、月工资、总金额等。
二、数据库概念结构设计:根据上面设计规划出的实体,我们对各个实体具体描述的E-R图分析如下:(1)分E-R图:图1 教师基本信息E-R图图2 上课信息E-R图图3 课程信息E-R图图4 薪水信息E-R图(2)实体与实体之间的关系E-R图:三、数据库逻辑结构设计:教师基本信息表上课信息表课程信息表薪水信息表四、数据库物理结构实现:根据以上的逻辑分析所得到的表的关系,我们使用T_SQL语言得到数据库和数据表。
1、create database teacterHalpOn(Name=pos_dat,Filename=’D:\pos_dat.mdf’,Size=5,MaxSize=20,Filegroup=1)LOG on(Name= pos_log,Filename=’D:\pos_log.ldf’,Size=5,MaxSize=20,Filegroup=1)2、create table Teacher_information(T_no char (8) not nullconstraint PK_bno primary key,T_name char(8) not null,T_sex char(2) check CK_hy sex in(‘男’,’女’)not null,T_zc varChar(9) not null,T_sfno char(18) not null,T_zy varChar(20) not null,T_address varChar(20) not null,T_tel char(7) not null)go3、create table Class_information(T_no char(8) not null,C_no char(4) not nullconstraint PK_con primary key,T_salOne Money(4) not null)go4、create table Course_information(C_no char(4) not nullconstraint PK_don primary key,C_name char(8) not null,C_class char(8) not null,C_time char(8) not null)go5、create table Pay_information(T_no char(8) not nullconstraint PK_eon primary key,T_salOne Money(4) not null,T_salAll Money(4) not null)go五、数据库扩展功能实现:1、CREATE TRIGGER triger_1ON Class_informationafter insertupdata Pay_informationset T_salAll= T_salAll+(select Class_information from insert ) 2、3、4、。
广州XX学院数据库管理及应用实验报告专业班级计算机181 实验日期2020.4.18 姓名李XX 学号20181532 实验名称数据表创建与管理指导教师王琢(报告内容包括实验目的、实验设备及器材、实验内容、实验步骤、实验结果、实验小结等)一、实验目的要求学生熟练掌握和使用SQL Server Management Studio、T-SQL语句创建和删除数据库,并对数据表和表中的数据进行有效的管理。
二、实验设备及器材Windows平台、SQL Server 2012。
三、实验内容实验3.1在学生管理数据库EDUC中利用T-SQL语句创建数据表。
习题3.2分别使用SQL Server Management Studio、T-SQL语句创建图管理数据库TSGL中的4个数据表的结构,即readers(读者信息表)、books(图书信息表)、borrowinf (借阅信息表)、readtype(读者类型表)。
习题3.3利用SQL Server Management Studio、T-SQL分别向表中输入数据。
习题3.4依照上述实验完成下列操作。
1)用INSERT命令在readers表中插入两条记录。
2)用UPDATE命令将readtype表中教师的限借阅数量改为30、借阅期限改为180天。
3)用DELETE命令删除书名为“数据结构”的图书信息。
四、实验步骤3.11)院系信息表Dept_infoUSE EDUCGOCREATE TABLE Dept_info(Don char(4)primary key,dname char(16)NOT NULL,d_chair char(8),d_address varchar(50),tel char(20))GO2)班级信息表Class_infoUSE EDUCGOCREATE TABLE Class_info(classno char(4)primary key,classname char(16)not null,monitor char(8),instructor char(8),tel char(12),dno char(4),foreign key (dno)REFERENCES Dept_info(dno))GO3)学生信息表Student_infoUSE EDUCGOCREATE TABLE Student_info(sno char(8)primary key,sname char(8)not null,sex char(2),s_native varchar(50),birthday smalldatetime,dno char(4),classno char(4),entime smalldatetime,home varchar(50),tel char(12),foreign key(dno)REFERENCES Dept_info(dno),foreign key(classno)REFERENCES Class_info(classno) )GO4)教师信息表Teacher_infoUSE EDUCGOCREATE TABLE Teacher_info(tno char(8)primary key,tname char(8)not null,sex char(2),birthday smalldatetime,dno char(4),title char(14),home varchar(50),tel char(12),foreign key(dno)REFERENCES Dept_info(dno))GO5)课程信息表Course_infoUSE EDUCGOCREATE TABLE Course_info(cno char(10)primary key,cname char(20)not null,experiment tinyint,lecture tinyint,semester tinyint,credit tinyint)GO6)学生成绩信息表SC_infoUSE EDUCGOCREATE TABLE SC_info(sno char(8)primary key,tcid char(2)not null,score tinyintforeign key(sno)REFERENCES Student_info(sno) )GO7)教师上课信息表TC_infoUSE EDUCGOCREATE TABLE TC_info(tcid char(2)primary key,tno char(8),score tinyint,classno char(4),cno char(10)not null,semester char(6),schoolyear char(10),classroom varchar(50),classtime varchar(50),foreign key(tno)REFERENCES Teacher_info(tno), foreign key(classno)REFERENCES Class_info(classno), foreign key(cno)REFERENCES Course_info(cno))GO3.2使用SQL Server Management Studio建表:1)readers(读者信息表)2)books(图书信息表)3)borrowinf(借阅信息表)4)readtype(读者类型表)T-SQL语句建表(TSGL):(1)readers(读者信息表)USE TSGLCREATE TABLE readers(ReaderID char(10) NOT NULL, Name char(8),ReaderType int, BorrowedQuantity int)(2)books(图书信息表)USE TSGLCREATE TABLE books(BookID char(15) NOT NULL, Name varchar(50),Author char(8),Publisher varchar(30), PublishedDate smalldatetime, Price real NULL)(3)borrowinf(借阅信息表)USE TSGLCREATE TABLE borrowinf(ReaderID char(10) NOT NULL, BookID char(15) NOT NULL, BorrowedDate datetime NOT NULL, ReturnDate datetime)(4)readtype(读者类型表)USE TSGLCREATE TABLE readtype(TypeID int NOT NULL,Name varchar(20) NOT NULL,LimitBorrowQuantity int,BorrowTerm int)3.3利用SQL Server Management Studio、T-SQL分别向表中输入数据。
数据库原理实验报告(3)实验三数据表的创建与管理实验南京晓庄学院《数据库原理与应⽤》课程实验报告实验三数据表的创建与管理实验所在院(系):数学与信息技术学院班级:学号::1.实验⽬的(1)理解SQL Server 2005常⽤数据类型和表结构的设计⽅法。
理解主键、外键含义,掌握建⽴各表相关属性间参照关系的⽅法。
(2)熟练掌握使⽤SQL Server Management Studio图形⼯具创建表,删除表,修改表结构,插⼊及更新数据的⽅法。
(3)熟练掌握使⽤Transact-SQL语句创建表,删除表,修改表结构,插⼊及更新数据的⽅法。
2.实验要求基本实验:(1)在实验⼆所创建的“TM”数据库中合理设计以下各表逻辑结构:学⽣信息(学号,,性别,籍贯,出⽣⽇期,民族,学院/系别号,班级号)课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时)学习信息(学号,课程号,考试成绩,平时成绩)院系信息(院系号,院系名称)要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。
(2)依据你所设计的表结构,使⽤SQL Server Management Studio图形⼯具在“TM”数据库中创建学⽣信息表和课程信息表,并试验在图形界⾯中修改表结构,删除数据表,输⼊并更新数据的⽅法。
(3)依据你所设计表结构,使⽤Transact-SQL语句创建学习信息表和院系信息表,并试验使⽤T-SQL语句修改表结构,删除数据表,插⼊和更新数据的⽅法。
(4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引⽤完整性约束。
(5)按要求完成实验报告。
扩展实验:(1)在“TM”数据库中补充设计以下各表结构:教师信息(教师号,,性别,出⽣⽇期,学历,学位,⼊职时间,职称,院系号)授课信息(教师号,课程号,学期)班级信息(班级号,班级名称,专业号)专业信息(专业号,专业名称,学制,学位)图书信息(图书号,书名,作者,,出版⽇期,册数,价格,分类)借书偏息(学号,图书号,借出时间,归还时间)奖励信息(学号,奖励类型,奖励⾦额)(2)设计并实现各表之间相关属性的参照关系。
数据库和表的创建实验报告数据库和表的创建实验报告引言:数据库是现代信息系统中的重要组成部分,它可以存储、管理和检索大量的数据。
在数据库中,表是数据的基本单位,它由列和行组成,用于存储具有相同结构的数据。
本实验旨在通过使用SQL语言创建数据库和表,掌握数据库的基本操作。
实验步骤:1. 创建数据库:首先,我们需要使用SQL语句创建一个新的数据库。
在MySQL中,可以使用以下语句创建一个名为"mydb"的数据库:```sqlCREATE DATABASE mydb;```创建数据库后,可以使用以下语句选择要使用的数据库:```sqlUSE mydb;```2. 创建表:接下来,我们需要使用SQL语句创建一个新的表。
表的创建需要指定表的名称和各列的名称、数据类型和约束条件。
以下是一个示例创建名为"students"的表的语句:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```上述语句创建了一个包含id、name、age和gender列的表。
其中,id列被定义为主键,保证了每个记录的唯一性。
name列和gender列被定义为VARCHAR类型,可以存储最大长度为50和10的字符串。
age列被定义为INT 类型,用于存储整数值。
3. 插入数据:创建表后,我们可以使用INSERT语句向表中插入数据。
以下是一个示例插入数据的语句:```sqlINSERT INTO students (id, name, age, gender)VALUES (1, 'Alice', 20, 'Female'),(2, 'Bob', 21, 'Male'),(3, 'Charlie', 19, 'Male');```上述语句将三条记录插入到students表中。
南京信息工程大学实验(实习)报告实验(实习)名称数据库和表的创建与管理实验(实习)日期得分指导教师系计算机专业计算机科学与技术年级班次姓名学号一、实验目的1.熟悉S QL Server 2005 中S QL Server Management Studio 的环境。
2.了解S QL Server 2005 数据库的逻辑结构和物理结构。
3.掌握使用向导创建和删除数据库的方法。
4.掌握使用S QL 语句创建和删除数据库。
5.了解表的结构特点,了解SQL Server 的基本数据类型,管理器创建表,会用T-SQL语句创建表。
6.管理器中修改表的定义,使用SQL语句修改表的定义。
二、实验内容内容一:使用向导创建和删除数据库。
内容二:使用SQL 语句创建和删除数据库。
内容三:用向导和SQL 语句创建和删除表。
‘内容四:修改数据库基本表的定义。
三、实验步骤内容一:设有一学籍管理系统,其数据库名为“EDUC”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。
数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。
日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。
(1)使用向导创建上诉描述的数据库。
1.建立数据库2.修改数据库名,数据库逻辑名,初始大小,增长方式等(2)使用向导删除上面建立的数据库。
1.删除数据库:内容二:1.以下是创建数据库userdb1 的SQL 语句,Create database userdb1On((name='userdb4_data',/*数据文件的逻辑名称,注意不能与日志逻辑同名*/filename='d:\sql_data\userdb4.mdf' ,/*物理名称,注意路径必须存在*/size=5,/*数据初始长度为M*/maxsize=10,/*最大长度为M*/filegrowth=1)/*数据文件每次增长M*/log on(( name=userdb4_log,filename='d:\sql_data\userdb4.ldf ' ,size=2,maxsize=5,filegrowth=1)Goa.选“视图”-“模板资源管理器”-Database-create database,双击databaseb.编写上述代码:2.根据步骤1 的sql 语句,写出创建实验二中数据库EDUC 的sql 语句,并建立数据库EDUC.3.用SQL 语句删除步骤一建立的数据库userdb1。
点击
运行
之后,
对
“教学管理”数据库进行更新之后,发现数据库的用户表里面没有出现“教师档案”表,又
看了下实验书才知道忘记了在这个地方指定数据库了。
2.创建“课程信息”表
原来是我把SQL当成是C语言了,将最后一句改成“学时%8=0”之后,又发现了新的错误:
根据提示,将real后面的“(4)”删除之后,“课程信息”表创建成功!
3.创建的是“教学任务”表:
看了很久没看出毛病来,决定跟之前写过的SQL文件比对一下,终于发现自己的错误了!Check语句不合法。
应该改成“学期int check(学期in('1','2'))”就OK啦。
4.创建“学生成绩”表:
平时成绩和期末成绩都是要精确到小数点后一位,而且对于后面“总成绩= 平时成绩*0.3 + 期末成绩*0.7”我不是很明白要怎么写。
在百度看了一些,发现有跟我的问题差不多的,遂赶紧借鉴:
这里的平时成绩、期末成绩、总成绩都不能按照实验书里面写的用real型,因为real 型无法在定义中限制其位数,float和decimal型就可以,因此这里三个字段的类型全部应用该类型“decimal(3,1)”指有效位4位,小数点后一位。
解决了小数点的问题之后,在定义的时候不能应用另外的一列,那将要怎么来实现“总成绩= 平时成绩*0.3 + 期末成绩*0.7”呢?翻了下书,查找了关于完整性的说明,发现可以利用constraint来解决这个问题!按照书上的说法,修改如下:
成功之后,就要建立学生选课表,在网上查找到有人对“课程ID”定义如下之后,我意识到自己之前做的有关“课程ID”的表都出现了一些错误
这里学生选课的(课程ID)是课程信息表中课程ID的外码,因为之前在课程信息表建立是这样子的:
造成两者之间长度不同。
我觉得在预习实验教材的时候,有一个地方可以修改表的结构的,于是用企业管理器找到“课程信息”表中的“课程ID”试图从这里面进行修改:
但是修改之后刷新数据库,这个问题仍然存在!百度问问有类似的问题,网友解答如下:
可以修改的,只是限于不同的约束不能修改。
缺省约束就可以修改,并且
不会出现错误。
主键约束、外键约束、唯一约束、检查约束~~~好像不能直接修改
最要原因是如果你要修改的这些约束所关系的表已经有数据,你修改的时
候数据库会自动检索,约束一旦改变表数据会出现不符合。
在oracle里面
你如果直接用modify以上的约束将会出现SQL command not properly
因此我只能将原来的表删除,重新建立新的表。
(二)、修改表
所有的表建立成功之后,接下来的任务就是修改表了。
主要是按照试验教程一步一步地做。
1.修改字段的“学生档案”表中“姓名”的数据类型varchar(16)成varchar(8);
2.为“学生成绩”表添加一个新的字段“总成绩”,类型是real,默认是NULL:
列名重复了,那么就改成,把问题解决了。
3.添加字段的取值范围
(三)、创建索引
完全是照搬书上面的例子的,不过由于我的粗心,还是有错误:
仔细一看,马上就发现了问题了!原是少了“index”!。