西北工业大学数据库实验报告7

合集下载

数据库实训报告实验总结

数据库实训报告实验总结

一、实验背景随着信息化时代的到来,数据库技术已成为当今社会的重要技术之一。

为了提高我国高校学生的实践能力,培养适应社会发展需求的数据库技术人才,我校组织了数据库实训课程。

通过本次实训,使学生们能够掌握数据库的基本原理、设计方法和应用技术,提高解决实际问题的能力。

二、实验目的1. 理解数据库的基本概念和原理;2. 掌握数据库的设计方法和步骤;3. 学会使用数据库管理系统进行数据库的创建、修改和查询;4. 培养学生分析问题、解决问题的能力;5. 提高学生的团队合作意识和沟通能力。

三、实验内容本次数据库实训主要包括以下内容:1. 数据库基本概念:数据库、数据库系统、数据库管理系统等;2. 关系数据库:关系模型、关系代数、关系运算等;3. SQL语言:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等;4. 数据库设计:需求分析、概念结构设计、逻辑结构设计、物理结构设计等;5. 数据库实现:使用数据库管理系统进行数据库的创建、修改和查询;6. 数据库应用:使用数据库技术解决实际问题。

四、实验过程1. 需求分析:根据实训要求,分析数据库所需解决的问题,确定数据库的功能和性能指标;2. 概念结构设计:根据需求分析,设计数据库的概念结构,包括实体、属性和实体间的关系;3. 逻辑结构设计:将概念结构转换为逻辑结构,包括确定表结构、字段类型、约束条件等;4. 物理结构设计:根据逻辑结构设计,确定数据库的物理存储方式,包括数据文件、索引文件等;5. 数据库创建:使用数据库管理系统创建数据库,包括创建表、索引、视图等;6. 数据操作:使用SQL语言进行数据插入、删除、更新和查询等操作;7. 数据库应用:使用数据库技术解决实际问题,如数据备份、恢复、安全等。

五、实验总结1. 理论与实践相结合:本次实训使我深刻认识到,数据库技术不仅包括理论知识,还需要将理论应用于实践,解决实际问题;2. 数据库设计的重要性:数据库设计是数据库应用的基础,一个良好的数据库设计可以提高数据库的性能和可用性;3. SQL语言的应用:SQL语言是数据库操作的核心,熟练掌握SQL语言可以提高数据库操作效率;4. 团队合作与沟通:在实训过程中,与团队成员密切配合,共同完成任务,提高了我的团队合作意识和沟通能力;5. 实验心得:通过本次实训,我对数据库技术有了更深入的了解,掌握了数据库的基本原理、设计方法和应用技术,为今后的学习和工作打下了坚实的基础。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE 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) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库实验实训报告范文

数据库实验实训报告范文

一、实验背景与目的随着信息技术的飞速发展,数据库技术在各行各业中的应用越来越广泛。

为了使同学们更好地掌握数据库的基本原理、设计方法和应用技术,提高动手能力,本次实验实训旨在通过一系列的数据库实验,使同学们熟悉数据库管理系统的使用,掌握数据库设计、创建、查询、维护等基本操作,提高数据库应用能力。

二、实验环境与工具1. 实验环境:Windows 10操作系统,SQL Server 2019数据库管理系统。

2. 实验工具:SQL Server Management Studio(SSMS)。

三、实验内容与步骤1. 数据库设计(1)分析业务需求:根据实验要求,设计一个学生信息管理系统,包含学生、课程、成绩等实体。

(2)确定实体关系:分析实体之间的联系,确定实体之间的关系,如一对多、多对多等。

(3)设计数据表结构:根据实体关系,设计数据表结构,包括字段名、数据类型、约束等。

2. 数据库创建(1)创建数据库:使用SSMS连接到本地SQL Server实例,创建一个新的数据库。

(2)创建数据表:在数据库中创建学生、课程、成绩等数据表,并设置相应的字段和约束。

3. 数据插入与查询(1)插入数据:向数据表中插入数据,包括学生信息、课程信息、成绩信息等。

(2)查询数据:使用SELECT语句进行数据查询,包括简单查询、条件查询、连接查询等。

4. 数据更新与删除(1)更新数据:使用UPDATE语句更新数据表中指定的记录。

(2)删除数据:使用DELETE语句删除数据表中指定的记录。

5. 视图与存储过程(1)创建视图:根据实际需求,创建视图,简化查询操作。

(2)创建存储过程:编写存储过程,实现数据的批量插入、更新、删除等操作。

四、实验结果与分析1. 数据库设计本次实验中,我们成功设计了一个学生信息管理系统,包括学生、课程、成绩等实体,并确定了实体之间的关系。

数据表结构设计合理,满足业务需求。

2. 数据库创建成功创建了数据库和数据表,并设置了相应的字段和约束。

《数据库实验报告》word版

《数据库实验报告》word版

《数据库实验报告》word版
一、实验目的
本次实验的目的是掌握SQL Server和MySQL的基本操作和基础语法知识,能够熟练地创建和管理数据库、数据表和视图,并能实现基本的数据操作和查询。

二、实验环境
本次实验使用的工具为SQL Server Management Studio和MySQL Workbench,数据库采用的是本地安装的SQL Server 2019和MySQL 8.0。

三、实验步骤
1. 使用SQL Server Management Studio创建数据库
CREATE DATABASE TestDB;
执行该语句,即可创建名为TestDB的数据库。

2. 使用MySQL Workbench创建数据库
打开MySQL Workbench,连接本地MySQL数据库,选择“管理”菜单栏,点击“新建连接”,输入用户名和密码,点击“测试连接”,连接成功后,点击“新建模式”,输入模式名称,选择“UTF-8”编码,点击“应用”,即可创建一个新的数据库。

在TestDB数据库中创建一个名为“Student”的数据表,包含学生的姓名、学号、年龄和性别信息。

输入以下SQL语句:
USE TestDB;
CREATE TABLE Student(
Name VARCHAR(20) NOT NULL,
ID INT PRIMARY KEY,
Age INT,
Gender VARCHAR(2)
);
在Student数据表中插入三条学生信息。

输入以下SQL语句:
执行该语句,即可成功插入三条学生信息。

SELECT * FROM Student;
四、实验总结。

(完整版)数据库实验报告

(完整版)数据库实验报告

数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。

西北工业大学-操作系统实验报告-实验七

西北工业大学-操作系统实验报告-实验七

实验七消息及其传送机制一、实验目的(1)了解什么是消息。

(2)熟悉消息传送的机理。

二、实验内容与要求1、消息的创建、发送和接收。

使用系统调用msgget( ),msgsnd( ),msgrev( ),及msgctl( )编制一长度为256Bytes的消息发送和接收的程序,将自己的进程号传递给对方,并输出至屏幕。

2、对整个实验过程进行分析总结,给出详细步骤。

三、实验过程1、编写程序实现消息的创建、发送和接收。

将参考程序用vi编辑器录入,然后编译执行。

1、client.c#include <unistd.h>#include <stdio.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#define MSGKEY 75 /*定义一个消息关键字*/struct msgform /*定义一个结构,它是一个消息的模式,只说明结构的形式*/{ long mtype; /*消息类型*/char mtext[256]; /*消息正文数组*/};int main(){{struct msgform msg; /*定义msg是前面说明的消息结构类型的变量*/int msggid,pid,*pint;msggid=msgget(MSGKEY,0777); /*用系统调用创建一个消息队列*/pid=getpid(); /*获得当前进程的PID*/printf(“client:pid=%d\n”, pid);pint=(int*)msg.mtext; /*将消息正文的头指针赋给指针变量pint*/*pint=pid;msg.mtype=1; /*指定客户进程的消息类型为1*/msgsnd(msggid,&msg,sizeof(int),0); /*向msggid的消息队列发送消息msg*/msgrcv(msggid,&msg,256,pid,0); /*接收pid类型的消息 */printf(“client:receive from pid %d\n”,*pint);return 0;}2、server.c#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include < signal.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#define MSGKEY 75 /*定义一个消息关键字*/struct msgform /*定义一个与客户端相同的消息关键字*/{ long mtype; /*消息类型*/char mtext[256]; /*消息正文数组*/}msg; /*也可以使用这种方式说明消息结构变量*/void cleanup(int signo); /*说明一个外部函数*/int msgqid;int main(){int i,pid,*pint;for ( i=0; i<23; i++) /*对22个软中断的特殊处理*/signal(i, cleanup); /*若收到22个软中断,转向执行cleanup*/msggid=msgget(MSGKEY,0777|IPC_CREAT); /*创建一个与客户程序相同关键字的消息队列,但它的标志是0777与IPC_CREAT 做“或”操作的结果*/ printf(“server:pid=%d\n”, getpid()); /*输出服务端的进程ID*/for(;;) /*用无限循环完成下列语句*/{ msgrcv(msggid,&msg,256,1,0); /*接收来自客户进程或类型为1的消息 */ pint=(int*)msg.mtext; /*将客户端的消息正文传递给pint*/pid=*pint; /*将读出消息指针送pid,此时*pint中是客户进程的pid值*/printf(“server:receive from pid %d\n”,pid);msg.mtype=pid; /*已接受客户进程的pid为消息类型*/*pint=getpid(); /*以本进程pid作为消息构成消息传递内容*/msgsnd(msggid,&msg,sizeof(int),0); /*发送消息*/}}void cleanup(int signo){ msgctl(msggid , IPC_RMID , 0); /*删除消息队列*/exit(0);}如下图所示:client.cserver.c运行结果如下所示:2、思考题(1)单独执行client或server 有什么结果?(2)执行一个server程序,多次执行client有什么结果?(3)消息机制与管道通信的区别?在消息机制中,进程间的数据交换是以格式化的message为单位,程序员直接利用操作系统提供的一组通信命令,不仅能实现大量的数据传递,而且还是隐藏通信细节,是通信过程对用户透明,减少通信程序的复杂性。

西工大软件技术实验报告7ADO数据控件及其相关应用

西工大软件技术实验报告7ADO数据控件及其相关应用
软件技术实验报告
实验序号
实验7
名称
ADO数据控件及其相关应用
班级
学号
姓名
实验内容及完成情况:
实验内容:在窗体上放置已加载ADO控件及若干需绑定的控件如文本框等,分别设置ADO控件、绑定控件的相关属性,实现与数据库的连接。
使用数据窗体向导,构筑基于Student.mdb数据库的数据访问对话框。
完成情况:实验中能够根据要求成功的将数据库绑定在ADO控件上,并能实现数据连接,访问。
实验中所涉及的知识及技术:
实验中涉及到的知识和技术主要有:ADO数据控件的加载,属性设置与数据库的连接,DataGrid控件的使用,体会DataGrid控件的AllowAddNew、AllowDelete和AllowUpdate属性的作用,学会使用数据窗体向导自动构成数据访问窗体。
实验中的创新及功能扩充:
1、将各种功能的控件放在一个界面,利用界面切换实现不同的窗口,更加集中,便于操作。
2、将数据库设计的更加科学合理,使得处理的数据更加接近真实。体会出程序的科学性。
3、在控件的属性上下一些功夫了,比如设置控件背景颜色,透明度等。
4、窗体向导的建立让数据序运行如下:
实验中遇到的问题及解决方法:
1、问题:对实验时有关数据库的路径方面有不解的地方,好像尝试几次都不能正确运行。
解决方法:与同学交流,改变数据库的路径,从而实现正确运行。
2、问题:用“外接程序”菜单中的“数据窗体向导”做好数据库后,发现编译错误。
解决方法:绑定类型选的ADO控件,就应该先在窗体上画一个ADO控件,或者直接选择ADO代码。
本实验是又一个针对数据库操作的比较复杂的实验,实验过程中能够更加深入的体会VB对数据库操作的功能。另外深刻感觉到各种控件在VB中的巨大作用。同时跟老师和同学的讨论更加丰富而自己的知识面。

数据库实验报告全

数据库实验报告全

数据库实验报告全实验⼀实验⽬的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、了解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命令,运⾏后观察结果。

西工大数字电路实验报告——实验七

西工大数字电路实验报告——实验七

实验七:数码管显示控制电路一. 实验目的:能自动循环显示数字0、1、2、3、4、5、6、0、2、4、1、3、5 二. 实验设备:数字电路实验的,数字双踪示波器,函数信号发生器,数字万用表,74LS161及若干门元件,Multisim 仿真软件。

三. 实验原理:计数是一种最简单基本运算,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。

计数器按计数进制有:二进制计数器,十进制计数器和任意进制计数器;按计数单元中触发器所接收计数脉冲和翻转顺序分有:异步计数器,同步计数器;按计数功能分有:加法计数器,减法计数器,可逆(双向)计数器等。

目前,TTL 和CMOS 电路中计数器的种类很多,大多数都具有清零和预置功能,使用者根据器件手册就能正确地运用这些器件。

实验中用到异步清零同步置数四位二进制计数器74LS161。

74LS161为异步清零计数器,即端输入低电平,不受CP 控制,输出端立即全部为“0”。

74LS161具有同步置数功能,在端无效时,端输入低电平,在时钟共同作用下,CP 上跳后计数器状态等于预置输入,即同步预置功能。

和都无效,T 或P 任意一个为低电平,计数器处于保持状态,即输出状态不变。

只有四个控制输入都为高电平,计数器才实现16加法计数。

74LS161引脚排列如图(1)所示,表(1)为它的功能表。

图(1)↑DCBAr C r C D L 3210D D D D r C DL1 ↑表(1)四.实验内容:用DCBA四位二进制数表示要求显示的十进制数数列,用Q3Q2Q1Q0的输出分别组合出DCBA的函数表达式:D=0C=Q3 Q1 Q2 + Q3 Q1 Q0B=Q3 Q1 Q2 Q0 + Q3 Q2(Q1〇Q0) (〇为异或门,符号打不出)A=Q3 Q2 Q1 + Q3 Q0 Q1 Q2按照DCBA的输出函数连接电路图,其中计数序列长度为13,所以将74LS161连接成14进制,当Q3Q2Q0同时输出为1时,送给Cr端一个置零信号,完成一次循环。

西北工业大学数据库与实验报告3

西北工业大学数据库与实验报告3

1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。

(18分,每小题3分)(1)非空约束:为出生日期添加非空约束。

(2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。

(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。

2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint)(2)alter table Sadd constraint pk_sno primary key(sno)(3)alter table Sadd constraint uk_sname unique(sname)(4)alter table Sadd constraint uk_sex default('男') for ssex(5)alter table SCadd constraint ck_grade check(grade between 0 and 100)(6)alter table SCadd constraint fk_sno foreign key(sno) references S(sno)alter table SCadd constraint fk_cno foreign key(cno) references C(cno)3.利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。

数据库实验报告8篇

数据库实验报告8篇

数据库实验报告数据库实验报告8篇在日常生活和工作中,报告不再是罕见的东西,报告成为了一种新兴产业。

我们应当如何写报告呢?下面是小编帮大家整理的数据库实验报告,欢迎阅读,希望大家能够喜欢。

数据库实验报告1经过一个多学期的理论知识学习后,我们迎来了大学生活以来第一个专业实训周——电子商务认知实习。

这为期一周的实训给了我很大的收获但也给了我一个很深的感触,科技的力量不可小视,it技术的飞速发展给我们的生活与工作带来了便捷。

一个星期的实训不知不觉的就这样过去了,在这里不敢说自己学到很多的东西,但我真的在其中明白了很多。

学校给我们提供的这次实训,是一个很好的学习机会,可以摸索自己的兴趣和以后发展的方向,可以让自己提前认识到自己想得到的东西是什么,“不知不知,先行后知”。

两个星期的实习生活,使我受益匪浅,回味无穷,实习所感历历在目。

电子商务的实训课程是学生学习电子商务方法、掌握电子商务技能的重要渠道。

通过这次实训,让我们更深刻地认识到电子商务的特点和应用领域,学习和体会到了电子商务的核心思想。

在实训的过程中学习和提高了自己。

在现代的信息时代中,多种交易都是通过网络实现的,因此,掌握这方面的知识越来越重要了,而此次实训是一次非常好的机会,让我们对电子商务的更深一步的了解,二我们也感觉到了电子商务的优越性,不禁为我们当时的选择而感到窃喜。

在实训的过程中,我们参观了无锡新区科技展示中、感知科技、博宜教育,让我认识到了科技、网络的重要性。

而电子商务则依托于计算机网络,网络的迅速发展也使电子商务得到了迅猛的发展。

而与08届学姐、学长的交流中我们也学到了许多课堂上学不到的宝贵知识,相信这对我们以后的工作会有很大的帮助。

通过这次实训,我认识到了认真学习电子商务的重要性,要注重理论和实践相结合,理论固然重要,但实训操作才能使我们更快的掌握这些知识。

有的人说实训很辛苦,而我觉得实训是一件非常有意义的事情。

这次实训我接触到了很多新的东西,这些东西给我带来新的体验和新的体会。

数据库学习实验报告(3篇)

数据库学习实验报告(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,加深对数据库基础知识的理解,掌握数据库的基本操作,包括数据库的创建、表的设计、数据的插入、查询、修改和删除等。

通过本次实验,提高对SQL语言的实际应用能力,为后续深入学习数据库知识打下坚实的基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的创建与删除2. 表的设计与数据类型3. 数据的插入、查询、修改和删除4. 索引与视图的应用四、实验步骤1. 数据库的创建与删除(1)创建数据库```sqlCREATE DATABASE db_student;```(2)删除数据库```sqlDROP DATABASE db_student;```2. 表的设计与数据类型(1)创建学生表```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),age INT,gender ENUM('男', '女'),class VARCHAR(50));```(2)创建课程表```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),credit INT);```3. 数据的插入、查询、修改和删除(1)插入数据```sqlINSERT INTO student (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO course (name, credit) VALUES ('高等数学', 4);```(2)查询数据```sql-- 查询所有学生信息SELECT FROM student;-- 查询年龄大于20岁的学生信息SELECT FROM student WHERE age > 20;-- 查询课程名称为“高等数学”的课程信息SELECT FROM course WHERE name = '高等数学';```(3)修改数据```sql-- 修改学生张三的年龄为21岁UPDATE student SET age = 21 WHERE name = '张三';-- 修改课程“高等数学”的学分UPDATE course SET credit = 5 WHERE name = '高等数学';```(4)删除数据```sql-- 删除学生张三的信息DELETE FROM student WHERE name = '张三';-- 删除课程“高等数学”的信息DELETE FROM course WHERE name = '高等数学'; ```4. 索引与视图的应用(1)创建索引```sql-- 创建学生表id字段的索引CREATE INDEX idx_student_id ON student(id); -- 创建课程表name字段的索引CREATE INDEX idx_course_name ON course(name); ```(2)创建视图```sql-- 创建包含学生姓名和课程名称的视图CREATE VIEW student_course_view ASSELECT , FROM studentJOIN course ON student.class = course.id;```(3)查询视图数据```sql-- 查询视图中的数据SELECT FROM student_course_view;```五、实验总结通过本次实验,我深入了解了数据库的基本操作,掌握了SQL语言的运用。

西北工业大学 实验报告

西北工业大学 实验报告

西北工业大学实验报告《西北工业大学实验报告》西北工业大学是一所位于中国陕西省西安市的高等学府,以其严谨的科学研究和丰富的实验教学而闻名。

在这里,学生们不仅可以接受到扎实的理论知识,还能通过各种实验活动来提升自己的实践能力。

下面,我们将就西北工业大学的实验报告进行一番探讨。

西北工业大学的实验报告是学生进行实验活动后所撰写的一份详细记录,其中包括实验目的、方法、结果、分析和结论等内容。

这些实验报告旨在让学生通过实践活动来加深对理论知识的理解,提高自己的动手能力和实验技能。

在西北工业大学,学生们有机会参与各种各样的实验活动,涵盖了物理、化学、生物、工程等多个学科领域。

通过这些实验活动,学生们可以亲身感受到科学知识的魅力,培养自己的观察力、思维能力和动手能力。

在实验活动结束后,学生们需要按照一定的格式和要求来撰写实验报告。

这不仅有助于学生对实验过程的回顾和总结,还能够培养学生的科学写作能力。

通过撰写实验报告,学生们可以逐步提高自己的文字表达能力和逻辑思维能力。

西北工业大学的实验报告不仅是对学生实验活动的一份记录,更是对学生科学素养的一次锻炼。

通过实验报告的撰写,学生们能够不断提高自己的实验技能和科学素养,为将来的科研工作和实践活动打下坚实的基础。

总之,西北工业大学的实验报告是学生进行实验活动后的一份重要记录,它不仅有助于学生对实验过程的回顾和总结,还能够培养学生的科学写作能力和科学素养。

相信通过这样的实践活动,学生们能够更好地掌握科学知识,提高自己的实践能力,为将来的科研工作和实践活动做好准备。

jlfqdAAA西北工业大学数据库实验报告2

jlfqdAAA西北工业大学数据库实验报告2

《数据库原理》实验报告题目:实验二基本表的数据操作学号姓名\班级日期92 孟玉军·1.在图形用户界面中对表中的数据进行更新。

(6分,每小题2分)(1)按照实验一图图中所示数据,输入SPJ数据库所含四张表中的数据。

,S表:P表:J表:*SPJ表:(2)修改S表的任意一条数据把S表中S1的status数据进行了修改¥(3)删除S表的任意一条数据。

删除了S3的数据2.…3.针对SPJ数据库,用SQL语句完成下面的数据更新。

(12分,每小题3分)(1)第五版教材第三章第5题的8-11小题。

红色零件颜色修改为蓝色:⑧UPDATE PSET COLOR=’蓝’#WHERE SNO=’红’⑨由S5供给J4的零件P6改为由S3提供:Update SPJ、Set sno=’S3’Where sno=’S5’and pno=’P6’and jno=’J4’⑩从供应商关系中删除S2的记录,从供应关系表中删除相应的记录:Delete:From SWhere sno=’S2’DeleteFrom SPJ)Where sno=’S2’11.请将(S2,J6,P4,200)插入供应情况关系:Insert into SPJValues (‘S2’,’ P4’,’J6’,200)&4.针对SPJ数据库,用SQL语句完成下面的数据查询。

(52分,每小题4分) (1)第五版教材第三章第4题。

(5道小题)`①:select distinct snofrom SPJwhere jno=’J1’/②:select distinct snofrom SPJwhere jno='J1'and pno='P1'》③:select snofrom SPJ,Pwhere jno='J1'and = and color='红'"④:select distinct jnofrom SPJwhere jno not in·(select jnofrom SPJ,P,Swhere = and city='天津'and = and color ='红')(⑤:select jnofrom SPJwhere pno in(select pno from SPJ where sno='S1' )&group by jnohaving count(pno)=(select count(pno) from SPJ where sno ='J1')(2)|(3)第五版教材第三章第5题的1-7小题。

西北工业大学数据库实验报告7

西北工业大学数据库实验报告7

假设学校允许学生将银行卡和校园卡进行绑定,在student数据库中有如下的基本表,其中校园卡编号cardid即为学生的学号:icbc_card(studcardid,icbcid,balance) //校园卡ID,工行卡ID,银行卡余额 campus_card(studcardid,balance) //校园卡ID,校园卡余额创建数据库代码如下:use studentcreate table campus_card( studcardid Char(8),balance Decimal(10,2))create table icbc_card( studcardid Char(8),icbcid Char(10),lance Decimal(10,2),)示例数据如下:insert into campus_card values('20150031', 30)insert into campus_card values('20150032', 50)insert into campus_card values('20150033', 70)insert into icbc_card values('20150031','2015003101', 1000)insert into icbc_card values('20150032','2015003201', 1000)insert into icbc_card values('20150033','2015003301', 1000)针对以上数据库按照要求完成下列实验:1.编写一个事务处理(begin tran)实现如下的操作:某学号为20150032的学生要从银行卡中转账200元到校园卡中,若中间出现故障则进行rollback。

西北工业大学数据库实验报告5

西北工业大学数据库实验报告5

《数据库原理》实验报告题目:实验一数据库和表的创建与管理学号姓名班级日期一.实验内容、步骤以及结果1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。

(5分)exec sp_rename v_spj,v_spj_三建2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分)(1)创建一个带参数的存储过程—jsearch。

该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME)。

执行jsearch存储过程,查询“J1”对应的信息。

(10分)创建:create procedure jsearch(@search_jno nchar(20) )asbeginselect j.jname,s.sname,p.pnamefrom s,p,j,spjwherespj.jno=@search_jno and spj.jno=j.jno and spj.sno=s.sno and spj.pno=p.pno end执行:EXEC jsearch @search_jno='J1'(2)使用S表,为其创建一个加密的存储过程—jmsearch。

该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。

(10分)创建:create procedure jmsearchwith encryptionasbeginselect * from Swhere city='北京'end使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。

(5分)exec sp_helptext 'jsearch'exec sp_helptext 'jmsearch'(3)执行jmsearch存储过程,查看北京供应商的情况。

北方工业大学数据库实验报告

北方工业大学数据库实验报告

数据库技术I(2010年秋)数据库技术I 实验报告系别:班级:姓名:学号:成绩:评语:指导教师签字:日期:实验一数据库的建立及数据维护一、实验目的1.学会使用企业管理器和查询分析器创建数据库、创建基本表和查看数据库属性。

2. 学会使用企业管理器和查询分析器向数据库输入数据,修改数据,删除数据的操作。

3. 在SOL Server查询分析器中完成复杂查询及视图定义。

二、实验环境及要求数据库实验要求如下环境,服务器端:Windows 2000/xp、数据库服务器(SQL Server 2005)、Web服务器(IIS )和ASP。

客户端:、VB 。

要求:1、根据以上数据字典,画出该数据库的ER图,完成数据库的概念结构设计;2、将ER图转换成逻辑关系模式,判断逻辑数据库模式中的各个关系(表)是第几范式,如果没有达到第三范式或BC范式,请进行规范化。

完成数据库的逻辑结构设计。

3、通过企业管理器或者查询分析器实现关系模式的存储,包括确定主码、外部码等。

4、通过企业管理器或查询分析器向数据库中输入数据。

5、打开数据库SQL Server 2005的查询分析器,用SQL语言完成以下语句。

并通过实验结果验证查询语言的正确性,将每个SQL语言及结果存盘,以备老师检查。

(1)求全体学生的学号、姓名和出生年份。

(2)求每个系的学生总人数并按降序排列。

(3)求选修了课程号为002或003的学生的学号、课程名和成绩。

(4)检索选修某课程的学生人数多于3人的教师姓名。

(5)查询所有未选课程的学生姓名和所在系。

(6)求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分。

(7)求所有讲授数据结构课程的教师姓名(8)查询所有选修了李正科老师的课程的学生信息三、实验步骤及结果1、SQL Server 2005服务管理器使用1.启动数据库服务软件SQL Server 2005:在程序菜单中选择Microsoft SQL Server 2005点击Studio后,出现连接到服务器,点击“连接”按钮,启动SQL Server 2005数据库服务。

西北工业大学数据库实验报告

西北工业大学数据库实验报告

1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分)●数据库和表的要求(第五版教材第二章习题6要求的数据库)数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表●完成以下具体操作:(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。

数据库的逻辑文件名和物理文件名均采用默认值。

(2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。

S表:P表:J表:SPJ表:(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。

(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。

原位置:新的位置:(5)删除已经创建的工程项目表(J表)。

(6)删除SPJ数据库。

(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)删除过后文件不存在(7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。

(还原数据库)(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。

(附加)(9)将SPJ数据库的文件大小修改为100MB。

(10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。

2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分)●数据库和表的要求数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。

●完成以下具体操作:(1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

假设学校允许学生将银行卡和校园卡进行绑定,在student数据库中有如下的基本表,其中校园卡编号cardid即为学生的学号:icbc_card(studcardid,icbcid,balance) //校园卡ID,工行卡ID,银行卡余额 campus_card(studcardid,balance) //校园卡ID,校园卡余额创建数据库代码如下:use studentcreate table campus_card( studcardid Char(8),balance Decimal(10,2))create table icbc_card( studcardid Char(8),icbcid Char(10),lance Decimal(10,2),)示例数据如下:insert into campus_card values('20150031', 30)insert into campus_card values('20150032', 50)insert into campus_card values('20150033', 70)insert into icbc_card values('20150031','2015003101', 1000)insert into icbc_card values('20150032','2015003201', 1000)insert into icbc_card values('20150033','2015003301', 1000)针对以上数据库按照要求完成下列实验:1.编写一个事务处理(begin tran)实现如下的操作:某学号为20150032的学生要从银行卡中转账200元到校园卡中,若中间出现故障则进行rollback。

(15分)代码:use studentbegin transaction zhuanzhanggodeclare @x decimal(10, 2)select @x=balance from icbc_card where studcardid='20150032'set @x=@x-200if(@x>=0)beginupdate icbc_card set balance=@x where studcardid='20150032'update campus_card set balance=balance+200 where studcardid='20150032' commit tranendelsebeginprint'余额不足,不能转账'rollback tranend结果显示:2.针对本题的数据库和表,分别用具体的例子展现四种数据不一致问题:丢失修改、读脏数据、不可重复读和幻读(删除和插入)。

(40分,每种数据不一致10分)1).丢失修改:执行两段代码begin transactiondeclare @a decimal(10,2)select @a=balancefrom icbc_card where studcardid='20150032'waitfor delay '00:00:05'update icbc_cardset balance=@a+1 where studcardid='20150032'commitselect * from icbc_card-------------------------------------begin transactiondeclare @b decimal(10,2)select @b=balancefrom icbc_card where studcardid='20150032' waitfor delay '00:00:05'update icbc_cardset balance=@b+2 where studcardid='20150032' commitselect * from icbc_card两段代码执行后的结果:出现了丢失修改2).读脏数据:begin transactiondeclare @b decimal(10,2)select @b=balancefrom icbc_card where studcardid='20150032' update icbc_cardset balance=@b*2 where studcardid='20150032'begin transactionselect * from icbc_cardcommitrollbackselect * from icbc_card结果显示:3).不可重复读:begin transactionselect * from icbc_cardbegin transactiondeclare @b decimal(10,2)select @b=balancefrom icbc_card where studcardid='20150032' update icbc_cardset balance=@b*2 where studcardid='20150032' commitselect * from icbc_cardcommit结果显示:4).幻读删除:begin transactionselect *from icbc_cardbegin transactiondelete from icbc_cardwhere studcardid='20150032'commitselect *from icbc_cardcommit结果显示:插入:begin transactionselect *from icbc_cardbegin transactioninsert into icbc_card values('20150034', '2015003401', 1000) commitselect *from icbc_cardcommit结果显示:3.利用锁机制、数据库的隔离级别等,设计方案分别解决上述丢失修改、读脏数据和不可重复读(或者幻读)的数据不一致问题。

(30分,每种数据不一致10分,提示可以用sp_lock系统存储过程查看当前锁状况)1).丢失修改:begin transactiondeclare @b decimal(10,2)select @b=balancefrom icbc_card with (xlock)where studcardid='20150032'waitfor delay '00:00:05'update icbc_cardset balance=@b+2 where studcardid='20150032'commitselect * from icbc_cardbegin transactiondeclare @a decimal(10,2)select @a=balancefrom icbc_card with (xlock) where studcardid='20150032'waitfor delay '00:00:05'update icbc_cardset balance=@a+1 where studcardid='20150032'commitselect * from icbc_card成功加3,解决了丢失修改2).读脏数据begin tranupdate campus_card with(xlock)set balance=balance-20where studcardid='20150032'waitfor delay '00:00:05'rollbackbegin transet tran isolation level read uncommittedselect * from campus_card with (holdlock) where studcardid='20150032'waitfor delay'00:00:05'select * from campus_card with (holdlock) where studcardid='20150032'结果显示:没有出现脏数据3).不可重复读begin transet tran isolation level read uncommitteddeclare @b1 Decimal(10,2)declare @b2 Decimal(10,2)select @b1=balance from campus_card with (holdlock) where studcardid='20150032'print('第一次数据:'+convert(varchar,@b1))waitfor delay'00:00:05'select @b2=balance from campus_card with (holdlock) where studcardid='20150032'print('第一次数据:'+convert(varchar,@b2))begin tranupdate campus_card with(xlock)set balance=balance+100where studcardid='20150032'waitfor delay '00:00:03'commit结果显示:消除了重复读错误4.构造一个出现死锁的情形。

(10分)事务一:begin transactionselect * from campus_card with (tablockx)waitfor delay'00:00:05'select * from icbc_card with (tablockx)commit事务二:begin transactionselect * from icbc_card with (tablockx)waitfor delay'00:00:05'select * from campus_card with (tablockx)commit结果:出现了死锁5.利用dbcc log命令查看student数据库的事务日志。

相关文档
最新文档