天津理工大学数据库实验一
天津理工大学数据结构实验报告1
r=L;
L->data=1;
L->next=NULL;
for(int i=2;i<=n;i++){
p=(LinkList)malloc(sizeof(LNode));
p->data=i;
p->next=NULL;
2. 运用单循环链表结构实现约瑟夫环问题:
设计工作指针p指向当前计数结点,为实现删除结点p的操作,再设计辅助工作结点q指向结点p的后继结点,计数器从1开始计数。其算法的伪代码如下:
2.1工作指针p初始化,计数器count初始化:
p=L;count=1;
2.2输出单循环链表中的每一个元素;
r->next=p;
r=p;
}
r->next=L;
}
void Josephus(LinkList &L,int s,int m){
LinkList p,q;
int count=1,t;
p=L;
for(int i=1;i<s;i++)
p=p->next;
while(p->next!=p){
交换p与q所指结点的值并删除结点q,即删除了结点p所指元素;
计数器变为1;
2.3.2 工作指针p后移,计数器count+1;
2.4输出链表中剩余的最后一个结点,并删除。
3. 在主函数中调用各个函数,完成程序。
结论:
实验中,输入9,1,5,输出5 1 7 4 3 6 9 2 8,
2
天津理工大学C#试验一
实验报告static void Main(string[] args){Console.WriteLine("第̨²一°?个?C#程¨¬序¨°!ê?!ê?");Console.ReadLine();}}}2、using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace实验1.2{class Program{static void Main(string[] args){int a = 345;float b = 15.3f;bool c = true;char d = 't';string e = "12345";Console.WriteLine("int a = " + a);Console.WriteLine("float b = " + b);Console.WriteLine("bool c = " + c);Console.WriteLine("char d = " + d);Console.WriteLine("string e = " + e);//转Áa换?Console.WriteLine("\n类¤¨¤型¨ª转Áa换?\n");Console.WriteLine("\n整?型¨ª转Áa化¡¥为a长¡è整?型¨ª:êo\n");long l = a;Console.WriteLine("long l = a = " + l);3、using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace实º¦Ì验¨¦1._3{class Program{public static void swamp(ref int x,ref int y) {int temp = x;x = y;y = temp;4、using System;using System.Collections.Generic; using System.Linq;using System.Text;namespace实º¦Ì验¨¦1._4{class MainClass{public interface Body{float area();}class Cube : Body{public Cube(float x1) {a = x1;}public float a;void setA(float x){a = x;}public float area()return 6 * a * a;}}class Ball : Body{public Ball(float r1){r = r1;}float r;void setR(int r1){r = r1;}public float area(){return (float)(4 * 3.14 * r * r);}}public static float getArea(Body b){return b.area();}static void Main(string[] args){Cube c1 = new Cube(2);Ball b1 = new Ball(3);Console.WriteLine("Cube.area = " + getArea(c1));Console.WriteLine("Ball.area = " + getArea(b1)); }}}6、using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace实º¦Ì验¨¦1._6{class Program{static void Main(string[] args){//Containsstring s = "葫¨´芦?娃ªT,ê?葫¨´芦?娃ªT,ê?一°?根¨´藤¬¨´上¦?七?朵?花¡§";bool b = s.Contains("葫¨´芦?娃ªT");Console.WriteLine(b);bool c = s.Contains("");//空?字Á?符¤?串ä?也°2返¤¦Ì回?TrueConsole.WriteLine(c);bool d = s.Contains("哪?吒?");Console.WriteLine(d);//Splitstring data = "2017-4-16";string[] t = data.Split('-');foreach(string str in t)Console.WriteLine(str);//joinstring time = string.Join("/",t);Console.WriteLine(time);string s1 = "猴?哥?,";string s2 = "你?真?了¢?不?得Ì?";Console.WriteLine(string.Concat(s1, s1, s2));//IndexOfConsole.WriteLine(data.IndexOf("4"));//Copy见?牛¡ê羊¨°";string d4 = string.Copy(s3);Console.WriteLine(d4);//Clonestring s4 = "猴?哥?,ê?猴?哥?,ê?你?真?了¢?不?得Ì?";object s5 = s4.Clone();Console.WriteLine(s5.ToString());}}}五、心得体会自从上了大学也学了几门计算机语言了,感觉基础操作大同小异。
天津理工大学计算机专业数据库实验一
实验报告学院(系)名称:计算机与通信工程学院姓名范学号2009 专业计算机科学与技术班级中加4班实验项目数据库创建与交互式SQL数据操作课程名称数据库系统概论课程代码0660096实验时间2011年10月19日实验地点主校区7—219批改意见成绩教师签字:一、实验目的二、实验的软硬件环境软件环境:Windows 2000MS SQL Server硬件环境:P4 2.4GHz 256内存三、实验内容1.熟悉SQL2008基本操作:包括服务器的启动、关闭;数据的备份、恢复;交互式SQL 窗口的打开;基本的可视化数据操作。
2.创建数据库,建立基本表,用SQL语句建立所需要的基本表,不得少于三个,并插入元组(课本第三章3.3节例1-7,全做)。
3.基本表的修改与删除(课本第三章3.3节例8-12,全做)。
4.索引的建立与删除(课本第三章3.3节例13-15,全做)5.针对单个基本表的查询。
(课本第三章3.4节例1-例32,任选6个查询,覆盖单条件、多条件、去除重复行、使用别名、排序子句的使用、在目标列中包含一些计算值以及分组子句的使用等。
6.多表连接查询(课本第三章3.4节例33-例38,任选5个)。
7.嵌套查询(课本第三章3.4节例39-例47,任选5个)。
8.集合查询(课本第三章3.4节例48-例52,任选3个)。
9.复杂更新操作,带子查询的插入、修改和删除(选做)10.个人自拟题目实验前准备工作:供应商-工程-零件”应用场景概念模型(用E-R图表示)概念模型转换成关系模型:S:主码:SNO;外码:SNO数据类型和约束条件:SNO CHAR(3),SNAME VARCHAR(5),STAT SMALLINT,CITY CHAR(20) P:主码: PNO外码:PNO数据类型和约束条件:PNO CHAR(3),PNAME VARCHAR(20),COLOR CHAR(2),WEIGHT_ SMALLINT,J:主码:JNO外码:JNO数据类型和约束条件:JNO CHAR(3),JNAME VARCHAR(20),CITY CHAR(5) SPJ:数据类型和约束条件:SNO CHAR(3),PNO CHAR(3),JNO CHAR(3),QTY INT,四、实验过程及结果实验所基于的表供应商表S(SNO,SNAME,STAT,CITY);零件表P(PNO,PNAME,COLOR,WEIGHT);工程项目表J(JNO,JNAME,CITY);供应情况表SPJ(SNO,PNO,JNO,QTY);1.打开SQL Server 2008登录如图:使用默认设置单击连接登录2.新建数据库:自己输入一个数据库名称3.单机系统的新建查询开始进行各类查询操作:4.使用SQL语言在数据库fanjixiang中创建表:供应商表SCREATE TABLE S(SNO CHAR(3) PRIMARY KEY , //以SNO作为主键SNAME V ARCHAR(50),STAT SMALLINT,CITY CHAR(20));单机执行后刷新表刷新后如图表S建立成功!依次创建零件表P 工程项目表J 供应情况表SPJ所有表建好后如图一共有四个表表的建立和删除建立student表删除表student5.向表中添加元组向S表中插入元素时,若重复插入,由于设置了主键,所以会报错所有元素插入完后右键单击表刷新,查看表S中的内容说明所有都插入成功~6.删除,修改表中的元祖的值以P表为例P表给P表增加一新列名为"Product_Date",执行以下代码效果图删除PNO="P4"的行,执行刷新之后的效果图为:PNO="P4"的行已删除将P3的名称改为"螺丝刀",执行以下代码之后效果如图最后完善P表如图7.J表,8.SPJ表如图9.索引的建立与删除(以P,J表为例)P表中建立以WEIGTH_为降序的聚簇索引查看索引文件中有在J表中建立以JNO降序的唯一索引执行代码为查看索引文件中有是唯一的。
天津理工大学数据库实验一
实验报告学院(系)名称:计算机与通信工程学院
4.实验报告
①建立的三个表的内容。
②书写的SQL语句和执行结果。
②书写的SQL语句和执行结果。
1)查询信息系和计算机系的学生,并按学生所在系和学号排序。
2)查询学生表中最小的年龄。
③查询课程名中包含“设计”的课程名
④查询先行课程为空值的课程号、课程名及学分。
⑤查询marci选修的数据库课程的成绩
⑥查询平均成绩80分以上的学生的学号。
⑦求计算机系没有选修数据库课程的学生姓名。
⑧求至少选修了学号为S1所选修的全部课程的学生学号
⑨求各系的系的学生人数的,并将结果按学生人数的降序排序。
⑩查询选修了数据库课程并且成绩高于该门课程平均分的学生学号和成绩
3)执行复杂SQL语句
(1) 将学习了数据库课程的学生成绩加5分
(2) 将李勇的数据库成绩改为85。
(kevin)
(3) 将选修了2号课程且成绩为空的选课记录删除。
(由于没有涉及成绩为空,所以结果是图上显示的效果) (4) 从课程表中删除在选课表中没有选课记录的课程记录。
(5) 求各系的系名及男女生人数并将结果保存到另一个表中。
(6) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。
(7) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。
(8) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。
(我不清楚错误出在哪里)。
理工大学数据库实验报告
例如,查询计算机科学系的学生以及年龄不及十九岁的学生:
Select *
Form student
Where sdept = ‘cs’
Union
Select *
From student
Where sage < 19
三.视图操作
例如,建立信息系学生的视图:
Create view
IS_student
where
Sname='刘晨');
查询选修了课程名为“信息系统”的学生学号和姓名.
select Sno,Sname
from student where
Sno in
(select Sno from sc
Where
Cno in
(select
Cno from course
where
Cname='信息系统'));
查询所有姓刘的学生的姓名、学号和性别。
select Sname,Sno,Ssex from student where Sname like '刘%';
2.连接查询
例如,查询每个学生及其选修课程的情况:
select student.*,sc.*
from student,sc
where student.Sno=sc.Sno
打开SQL SERVER配置管理器工具,单击“SQL SERVER2005服务”
节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL
SERVER 2000一样,可以通过这个配置管理器来启动、停止所安装的服
务,如“SQLSERVER(MSSQLSERVER)”。
3.了解RDBMS系统的体系结构。
(完整版)数据库技术与应用实验报告
(完整版)数据库技术与应用实验报告《数据库技术与应用》实验报告班级学号:姓名:实验日期:指导老师:实验名称一、实验一表的建立与维护实验目的与要求 1.初步掌握根据一个应用目标把现实问题抽象为关系数据模型的方法,从而为解决实际问题奠定数据基础。
2.掌握表的建立与维护的一般方法。
3.理解表的记录指针与当前记录的意义。
4.掌握表的打开、关闭、浏览、显示等操作方法。
5.掌握表结构的修改。
6.掌握记录的增加与删除等操作。
7.掌握数据复制方法。
8.二、实验准备 1、复习关系数据库的有关概念,深刻理解Virsual FoxPro中所采用的关系模型的实质及Virsual FoxPro所支持的数据模型。
2、复习表的建立、现实与维护等操作。
三、实验内容下表是某校学生花名册,根据该表完成以下操作,写出操作步骤。
学习成绩性学号姓名别学 009901 张小强男 98 85 否 20XX年获全数外语出生年月否少数民族受奖情况国数学奥林匹克竞赛二等奖。
009902 009903 009904 009905 陈斌李哲男男 88 56 75 88 75 82 72 81 否是否是20XX年获全国中学生田径运动会100米第三名009906 009907 009908 009909 张青松男封小莉女周晓钱倩女女 65 82 65 83 81 73 78 85 否否20XX年获广东省三好学生称号 009910 009911 孙力军男肖彬彬女 64 55 68 95 是否赵大明男冯珊女否否1.设计一个表的结构,使其能描述上表的信息,同时又符合关系模型的基本要求。
2.建立表,输入表中的数据,并将保存在自己盘中。
3.给全部女生的数学成绩加5分。
4.将记录指针定位到第5号记录。
5.将记录指针指向孙力军同学。
6.显示所有姓“张”学生的情况。
7.把表的姓名字段宽度修改为8。
8.浏览记录数据,且表头用汉字。
9.把少数民族学生的记录复制到中。
数据库实验报告全
数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
理工大学数据库实验报告
理工大学学生实验报告一.数据定义(一)基本表的操作1.建立基本表例如,建立一个学生表:create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20))建立一个课程表:create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint,foreign key (Cpno) references Course(Cno))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));2.修改基本表例如,像student表加一个入学时间列:alter table Student add S_entrance datetimealter table Student alter column Sage intalter table Course add unique(Cname)3.删除基本表例如,删除已经建立的学生表:drop table Studentdrop table Course(二)索引操作1.建立索引例如,为学生课程数据库中的student, course, sc 三个表建立索引。
其中student表按学号升序建唯一索引,course表按课程号升序建唯一索引,sc表按学生升序和课程号升序建唯一索引:create unique index Stusno on Student(Sno);create unique index Coucno on Course(Cno);create unique index SCno on SC(Sno ASC,Cno DESC)2.删除索引例如,删除student表的Stusno索引:drop index Stusname(三)数据操作一.更新操作1.插入数据例如,在student表中插入下列数据:200215125,张立,男,19,IS代码如下insert into student(Sno,Sname,Ssex,Sage,Sdept)values('200215125','张立','男',19,'IS')插入后,结果如下:在Course表中插入以下数据:1,数据库,5,42,数学,null,26,数据处理,null,24,操作系统,6,37,PASCAL语言,6,45,数据结构,7,41,数据库,5,43,信息系统,1,4insert into course(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4); insert into course(Cno,Cname,Ccredit)values('2','数学',2);insert into course(Cno,Cname,Ccredit)values('6','数据处理',2);insert into course(Cno,Cname,Cpno,Ccredit)values('4','操作系统','6',3);insert into course(Cno,Cname,Cpno,Ccredit)values('7','PASCAL语言','6',4);insert into course(Cno,Cname,Cpno,Ccredit)values('5','数据结构','7',4);insert into course(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4); insert into course(Cno,Cname,Cpno,Ccredit)values('3','信息系统','1',4);2.修改数据例如,将学生200215121的年龄改为22岁:update student set Sage=22 where Sno='200215121'修改前:修改后:3.删除数据例如,删除学号为200215128的学生记录:delete from student where Sno='200215128'删除所有学生的选课记录:delete from sc删除计算机科学系所有学生的选课记录:delete from sc where 'CS'=(select Sdept from student where student.Sno=SC.Sno )二.查询操作1.单表查询再例如,查询全体学生的详细记录select * from student;查询所有年龄在20岁以下的学生姓名及其年龄。
数据库原理实验报告
计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:07173姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。
2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。
3、熟练掌握备份和还原数据库。
二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。
《数据库原理及应用》实验报告(1-21)
数据库原理及应用实验报告实验课程:数据库原理及应用学号:学生姓名:班级:2014年月日实验一创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 5.5 的方法。
(2)掌握启动服务并登录MySQL 5.5 数据库的方法和步骤。
(3)了解手工配置MySQL 5.5 的方法。
(4)掌握MySQL 数据库的相关概念。
(5)掌握使用Navicat 工具和SQL 语句创建数据库的方法。
(6)掌握使用Navicat 工具和SQL 语句删除数据库的方法。
二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤(1)在Windows 平台下安装与配置MySQL 5.5.36 版。
(2)在服务对话框中,手动启动或者关闭MySQL 服务。
(3)使用Net 命令启动或关闭MySQL 服务。
(4)分别用Navicat 工具和命令行方式登录MySQL。
(5)在my.ini 文件中将数据库的存储位置改为D:\MYSQL\DATA。
(6)创建数据库。
①使用Navicat 创建学生信息管理数据库gradem。
②使用SQL 语句创建数据库MyDB。
(7)查看数据库属性。
①在Navicat 中查看创建后的gradem 数据库和MyDB 数据库的状态,查看数据库所在的文件夹。
②利用SHOW DATABASES 命令显示当前的所有数据库。
(8)删除数据库。
①使用Navicat 图形工具删除gradem 数据库。
②使用SQL 语句删除MyDB 数据库。
③利用SHOW DATABASES 命令显示当前的所有数据库。
(9)使用配置向导修改当前密码,并使用新密码重新登录。
(10)配置Path 变量,确保MySQL 的相关路径包含在Path 变量中。
四、思考题My SQL的数据库文件有几种?扩展名分别是什么?五、实验总结1、收获2、存在的问题实验二管理表一、实验目的(1) 掌握表的基础知识。
《数据库实验》实验报告
《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
⼆、实验内容1、创建数据库和查看数据库属性。
2、创建表。
3、查看和修改表结构。
4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。
(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。
数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。
详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。
(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。
创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。
2023年天津理工大学计算机科学与技术专业《数据库原理》科目期末试卷A(有答案)
2023年天津理工大学计算机科学与技术专业《数据库原理》科目期末试卷A(有答案)一、填空题1、数据库内的数据是______的,只要有业务发生,数据就会更新,而数据仓库则是______的历史数据,只能定期添加和刷新。
2、采用关系模型的逻辑结构设计的任务是将E-R图转换成一组______,并进行______处理。
3、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
4、以子模式为框架的数据库是______________;以模式为框架的数据库是______________;以物理模式为框架的数据库是______________。
5、某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。
6、在SQL Server 2000中,数据页的大小是8KB。
某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。
7、____________、____________、____________和是计算机系统中的三类安全性。
8、关系规范化的目的是______。
9、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和______。
10、使某个事务永远处于等待状态,得不到执行的现象称为______。
有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。
二、判断题11、可以用UNION将两个查询结果合并为一个查询结果。
()12、在数据库设计中,数据流图是用来建立概念模型的。
()13、视图是观察数据的一种方法,只能基于基本表建立。
()14、关系中任何一列的属性取值是不可再分的数据项,可取自不同域中的数据。
2022年天津理工大学软件工程专业《数据库原理》科目期末试卷A(有答案)
2022年天津理工大学软件工程专业《数据库原理》科目期末试卷A(有答案)一、填空题1、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和______。
2、在RDBMS中,通过某种代价模型计算各种查询的执行代价。
在集中式数据库中,查询的执行开销主要包括______和______代价。
在多用户数据库中,还应考虑查询的内存代价开销。
3、在SQL Server 2000中,某数据库用户User在此数据库中具有对T 表数据的查询和更改权限。
现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。
_____UPDATE ON T FROM User;4、数据仓库是______、______、______、______的数据集合,支持管理的决策过程。
5、如图所示的关系R的候选码为;R中的函数依赖有;R属于范式。
一个关系R6、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是______________,系关系的外码是______________,学生关系的主码是______________,外码是______________。
7、某在SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。
用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。
为了完成该统计操作,请按要求将下面的存储过程补充完整。
8、主题在数据仓库中由一系列实现。
一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。
9、在SELECT命令中,______子句用于选择满足给定条件的元组,使用______子句可按指定列的值分组,同时使用______子句可提取满足条件的组。
实验1 数据库创建-实验报告
实验一创建数据库和表一、实验目的和要求熟悉上机环境和查询分析器界面;掌握如何启动、停止服务管理器和企业管理器的方法;掌握如何用企业管理器定义数据库、表、约束,如何向表中添加、修改、输出记录,如何查看表的内容等操作;掌握如何在查询分析器中,执行SQL语句、分析语句的执行结果;掌握如何在查询分析器中,用DDL语言定义数据库、表、约束,并用最简单的INSERT语句向表中添加记录。
二、实验内容及指导1.○1启动服务管理器○2使用企业管理器,创建StudentInfo数据库○3在该数据库里定义Students、Courses、Enrollment3个表,问题是开始的时候不清楚如何添加约束,后来知道是在默认值或绑定处添加,也可以右击列名,选择CHECK约束添加○4向3个表中添加若干记录,因为有约束存在,所以如果输入不在约束范围内就会报错。
○5查看已创建的数据库和3个表的内容2.实验2的“提高操作”,具体内容如下:表3- 1图书表结构表3- 2读者表结构表3- 3借阅表结构用SQL语句创建的数据库不知道放在了哪里,创建的3个表也不知道放在了哪里,而且那三个表建完后不在图书馆数据库里面,后来找到了图书馆数据库在安装盘D盘底下的DA TA文件中,3个表在master数据库里,于是又在每个表的前面加了一句话“USE 图书馆 GO”重新保存之后这三个表就在图书馆数据库里面了。
还有一个办法是这样建数据库,如创建一个名为scd3的数据库:create database scd3on primary(name='scd3',filename='g:\scd2\scd3.mdf')log on(name='scd3_log',filename='g:\scd2\scd3_log.ldf')这样所创建的数据库就放在了g盘底下scd2文件夹中。
USE scd3CREATE TABLE用户(ID CHAR(8)PRIMARY KEY,NAME NVARCHAR(20)NOT NULL,PWD NVARCHAR(20)NOT NULL)GO新建的用户表即在scd3数据库中。
(完整)数据库实验
一实验内容:1)创建一个表空间,和一个用户,并登陆用户,创建表.2)创建一个序列和一个表,并用序列产生的值向表中插入记录。
3)创建一个过程,要求其向表中插入记录。
二实验目的:通过实验内容掌握如何利用SQL*Plus创建表空间、用户、表、序列、过程,以及如何登陆DBA和普通用户,了解两者的区别,并掌握向普通用户授权权限.三实验过程:1.创建一个表空间test1,两个datafile第一个10m,自增,每次增加20m,最大100m.第二个20m,自增,每次增加10m,最大没有限制。
创建用户test01,密码test01,默认表空间test1用test01登陆,建表test3,表项:id 数字型,name 字符型并使用户scott能对该表操作.1.1实验准备:创建表空间语法:create tablespace tablespace_namedatafile‘file_name’siz_file_size[uniform size extent_size|autoextend];创建用户:create user user_nameidentified by passworddefault tablespace tablespace_namequota q_size on tablespace_namepassword expire创建表:create table table_name(column_name datatype,…)1.2实验分析:要创建表空间,必须是DBA用户或具有createTablespace 系统权限的用户,这里选择登陆DBA:conn / as sysdba。
要求表空间有两个数据文件,所以需要在创建表空间后再增加一个文件。
创建用户test_1后,无法直接创建表.因为初始建立的数据库用户没有任何权限,不能执行任何数据库操作。
所以还要授予其连接数据库的系统权限(grant create session to test01)和建表的系统权限(grant create table to test01).1。
天津理工大学数据结构实验报告1
实验报告CreateLinklist(): 从键盘输入数据,创建单链表ContLinklist():将前面建立的两个单链表首尾相连OutputLinklist():输出显示单链表3)分析算法时间复杂度三、实验过程与实验结果1.一元稀疏多项式简单的计算器➢数据结构定义typedef struct PolyNode{float coef;int exp;struct PolyNode *next;}PolyNode;typedef PolyNode *Polynomial;➢算法设计思路简介用带头节点的单链表分别表示两个多项式L和p,同时新建一个链表N把两个多项式相加后的结果存放在N表中。
所有链表均按指数从小到大顺序排列。
链表N中的节点N1另外生成,把运算后的结果赋给N1,用尾部插入法将N1插入到链表N中,每次要将新节点N1插入到链表N尾部,因此给链表N声明一个尾指针N0始终指向链表N的尾节点。
操作完成,按要求输出。
➢算法描述:初始时,指针L1指向L链表的头节点,P1指向p链表的头结点,从头开始扫描两个相加多项式链表的表头节点,循环操作,直到其中一个单链表中的节点全部搜索结束为止。
比较指针L1和P1指向的指数,共有三种情况:(1)L1->exp==P1->exp;则两个多项式的系数相加减,得到的新和多项式节点插入到链表N中。
L1、P1指针后移;(2)L1->exp<P1->exp;则将该L1所指节点赋给N1插入到链表N中。
L1、P1指针后移;(3)L1->exp>P1->exp;则将该P1所指节点赋给N1插入到链表N中。
L1、P1指针后移。
➢算法的实现和测试结果:输入:L1: 5 3 6 5 6 7 0 0; L2: 2 3 3 5 4 7 0 0;输出:L1: 5x^3+6x^5+6x^7;L2: 2x^3+3x^5+4x^7;L1+L2: 7x^3+9x^5+10x^7;L1-L2: 3x^3+3x^5+2x^7➢算法时间复杂度分析该程序中建立单链表过程采用了单链表的后插入操作,其时间复杂度T(n)=O(1);当两个多项式相加减的时候,设L, p多项式分别有m、n项,其算法时间复杂度T(n)=O(m+n)。
数据库原理实验报告
数据库原理实验报告实验⼀数据库管理系统软件的使⽤⼀、实验⽬的(1)认识⼏种常见的数据库管理系统,熟悉它们的使⽤界⾯;(2)熟练掌握建⽴数据库和表,向数据库输⼊数据、修改数据和删除数据的操作。
⼆、实验内容分别在Access 和SQL SERVER2000 中建⽴数据库并设计各表,输⼊多条实际数据,并实现数据的增、删、改操作。
三、实验步骤:分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利⽤图形操作界⾯(⾮SQL语句)实现以下操作:1、创建⽤于学⽣管理数据库,数据库名为对表中的记录进⾏浏览、修改、删除操作。
本信息,课程信息和选课信息。
数据库XSGL包含下列3 个表:(l) student:学⽣基本信息。
(2)course:课程信息表。
(3)sc:学⽣选课表。
各表的结构分别如表1、表2和表3 所⽰。
表1 学⽣信息表:student表2 课程信息表:course表3 学⽣选课表:sc提⽰:在不使⽤SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—⼯具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创建。
外键字段和参照字段之间的数据类型以及长度要保持⼀致。
2、输⼊表中的记录分别在student表、course表和sc表中输⼊如下表中的记录:观察输⼊时有⽆提⽰错误,如果有如何修改,体会参照完整性的作⽤,弄清楚先输⼊那些表中记录,为什么?3、对表中的记录进⾏浏览、修改、删除操作。
实验⼆SQL语⾔(⼀) SQL定义语⾔⽬的:会⽤SQL语⾔进⾏基本表的结构的定义、修改、删除,会建⽴与删除索引;内容:⽤SQL语⾔进⾏基本表结构的定义、修改、删除,索引的建⽴和删除步骤:1、在SQL SERVER 2005中新建查询,建⽴到服务器的连接2、⽤SQL语⾔CREATE TABLE语句创建实验⼀中学⽣表student、课程表course 和选课表sc及其相应约束,具体约束如下:表1 学⽣信息表:student表2 课程信息表:course表3 学⽣选课表:sc3、向创建的表中输⼊数据,测试所创建的完整性约束是否起作⽤4、⽤SQL语⾔ALTER语句修改表结构;1) STUDENT表中增加⼀个字段⼊学时间scome,2)删除STUDENT表中sdept字段;3)删除创建的SC表中CNO字段和COURSE表CNO字段之间的外键约束;4)重建3)中删除的约束5、重新定义⼀个简单表,然后⽤SQL语⾔DROP语句删除该表结构;6、⽤SQL语⾔CREATE INDEX语句定义表STUDENT的SNAME字段的降序唯⼀索引;7、⽤SQL语⾔DROP语句删除索引;实验三SQL(⼆) SQL语⾔进⾏简单查询⽬的:掌握简单数据查询操作。
天津理工大学数据库课程设计
目录仓库管理系统设计........................................错误!未定义书签。
引言 (2)系统分析 (3)系统需求分析 (3)数据库概念结构设计 (5)数据库物理结构设计 (6)数据库创建 (9)系统总体结构设计 (13)系统开发及实现 (12)总结与体会 (16)参考文献 (16)附录 (17)第一章引言1.1设计开发的意义。
在我们现实的学习中遇到了现有借实验室设备的人工系统的不便,为了使学生借设备方便和老师便于管理,于是我使用计算机对物联网设备信息进行管理,计算机管理有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高仓库管理的效率。
1.2所设计应用系统的任务及目标。
任务:仓库管理系统管理的对象如下:管理员信息:工号、姓名、电话等。
学生信息:学号、姓名、年级、班级等。
设备信息:设备号、设备名、库存数量等。
目标:界面设计要求尽量友好、美观,应提供登录界面,管理操作简单方便;对各种信息应提供录入、修改、删除和查询功能;能够新增、修改和删除设备信息;具有对设备、学生、管理员、库房的基本信息进行统计的功能。
1.3设计开发及运行的软硬件环境。
开发工具:sql server C#开发环境:软件平台:Windows 8,Visual Studio 2013,sql server2014硬件平台;inter处理器,8G内存,500G硬盘第二章系统分析与设计2.1系统需求分析:2.1.1由于采用数据库技术并且用户的领域对数据精确度的要求不是太高,所以这点在系统中表现的比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
本系统数据库较小,所以程序在响应时间、数据更新处理时间上性能是比较突出的。
而且也正由于数据量的相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
姓名学号专业计算机(中加) 班级实验项目数据库创建与交互式SQL数据操作课程名称数据库与功能分析课程代码0666226
实验时间2013.10.24 实验地点7-215
批改意见成绩
教师签字:
一、实验目的
1)了解DBMS 安装,搭建实验平台, 熟悉各数据库的交互式SQL工具; 2)熟悉通过SQL语言对数据库进行操作。
二、实验的软硬件环境
软件环境:Windows 2000
MS SQL Server
硬件环境:P4 2.4GHz 256内存
三、实验内容
1)表的创建
①建立学生选课数据库SCDatabase
②建立学生、课程和选课表。
4.实验报告
①建立的三个表的内容。
②书写的SQL语句和执行结果。
②书写的SQL语句和执行结果。
1)查询信息系和计算机系的学生,并按学生所在系和学号排序。
2)查询学生表中最小的年龄。
③查询课程名中包含“设计”的课程名
④查询先行课程为空值的课程号、课程名及学分。
⑤查询marci选修的数据库课程的成绩
⑥查询平均成绩80分以上的学生的学号。
⑦求计算机系没有选修数据库课程的学生姓名。
⑧求至少选修了学号为S1所选修的全部课程的学生学号
⑨求各系的系的学生人数的,并将结果按学生人数的降序排序。
⑩查询选修了数据库课程并且成绩高于该门课程平均分的学生学号和成绩
3)执行复杂SQL语句
(1) 将学习了数据库课程的学生成绩加5分
(2) 将李勇的数据库成绩改为85。
(kevin)
(3) 将选修了2号课程且成绩为空的选课记录删除。
(由于没有涉及成绩为空,所以结果是图上显示的效果) (4) 从课程表中删除在选课表中没有选课记录的课程记录。
(5) 求各系的系名及男女生人数并将结果保存到另一个表中。
(6) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。
(7) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。
(8) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。
(我不清楚错误出在哪里)。