南昌大学数据库实验4
南昌大学实验报告

学号:6100208248 专业班级:通信082班实验日期:2010/11/11实验成绩:实验四数字钟设计一、实验目的1.设计一个数字钟2.掌握动态扫描数码管的工作原理和相关的VHDL程序的编写方法3.掌握分模块设计的方法二、实验内容与要求1.在实验箱上实现动态扫描数码管显示时分秒;2.可以预置为12小时计时显示和24小时计时显示;3.一个调节键,用于调节目标数位的数字。
对调节的内容敏感,如调节分钟或秒时,保持按下时自动计数,否则以脉冲计数;4.一个功能键,用于切换不同的状态;计时、调时、调分、调秒、调小时制式;三、设计思路时、分、秒计数模块可以用计数器实现,时计数分为模12/24进制计数器,分和秒为模60计数器,显示模块用动态扫描数码管实现。
数字钟总的设计框图:图1:数字钟设计框图四、实验程序(程序来源:根据网络上的修改)1.控制模块:控制模块分散在各计数模块的控制引脚2.秒计数模块①VHDL程序:ENTITY SECOND ISPORT ( CLK : IN STD_LOGIC;RESET : IN STD_LOGIC;SETMIN : IN STD_LOGIC;ENMIN : OUT STD_LOGIC;DAOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY SECOND;ARCHITECTURE ART OF SECOND ISSIGNAL COUNT : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL ENMIN_1,ENMIN_2 : STD_LOGIC;BEGINDAOUT<=COUNT;ENMIN_2<=(SETMIN AND CLK);ENMIN<=(ENMIN_1 OR ENMIN_2);PROCESS(CLK,RESET,SETMIN)BEGINIF(RESET='0')THENCOUNT<="00000000";ENMIN_1<='0';ELSIF(CLK'EVENT AND CLK='1')THENIF(COUNT(3 DOWNTO 0)="1001")THENIF(COUNT<16#60#)THENIF(COUNT="01011001")THENENMIN_1<='1';COUNT<="00000000";ELSECOUNT<=COUNT + 7;END IF;ELSECOUNT<="00000000";END IF;ELSIF(COUNT<16#60#)THENCOUNT<=COUNT + 1;ENMIN_1<='0';ELSECOUNT<="00000000";ENMIN_1<='0'; END IF;END IF;END PROCESS;END ART;②封装后的秒计数模块:图2:秒计数模块3.分计数模块①VHDL 程序(与秒计数程序基本相同,略) ②封装后的分计数模块:图3:分计数模块4.时计数模块①VHDL 程序(分为12进制和24进制,与秒计数基本相同,略)②封装后的时计数模块:图4:时计数模块(12进制、24进制、2选1数据选择器)5.显示模块 ①VHDL 程序ENTITY SETTIME ISPORT ( CLK1 : IN STD_LOGIC; RESET : IN STD_LOGIC;SEC,MIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); HOUR : IN STD_LOGIC_VECTOR(7 DOWNTO 0); DAOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SEL : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END SETTIME;ARCHITECTURE ART OF SETTIME ISSIGNAL COUNT : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINPROCESS(CLK1,RESET) BEGINIF(RESET='0')THENCOUNT<="000";ELSIF(CLK1'EVENT AND CLK1='1')THENIF(COUNT>="101")THENCOUNT<="000";ELSECOUNT<=COUNT + 1;END IF;END IF;END PROCESS;PROCESS(CLK1,RESET)BEGINIF(RESET='0')THENDAOUT<="0000";SEL<="111";ELSIF(CLK1'EVENT AND CLK1='1')THENCASE COUNT ISWHEN"000"=>DAOUT<=SEC(3 DOWNTO 0);SEL<="000";--秒低位 WHEN"001"=>DAOUT<=SEC(7 DOWNTO 4);SEL<="001";--秒高位 WHEN"010"=>DAOUT<=MIN(3 DOWNTO 0);SEL<="010";--分低位 WHEN"011"=>DAOUT<=MIN(7 DOWNTO 4);SEL<="011";--分高位 WHEN"100"=>DAOUT<=HOUR(3 DOWNTO 0);SEL<="100";--时低位 WHEN"101"=>DAOUT<=HOUR(7 DOWNTO 4);SEL<="101";--时高位 WHEN OTHERS=>DAOUT<="0000";SEL<="111";END CASE;END IF;END PROCESS;END ART;②封装后的动态扫描数码管显示模块图5:显示模块6.顶层文件五、实验步骤①.新建工程。
湖南大学数据库实验四 性约束、视图、存储过程和数据安全

实验四完整性约束、视图、存储过程和数据安全实验目的:1、掌握创建各种实体完整性约束的方法。
2、掌握创建和使用视图、存储过程和索引的方法。
3、掌握视图实现数据安全的基本方法。
4、掌握数据库的基本备份和恢复技术。
实验容:本实验在ORACLE数据库平台上进行操作,ORACLE数据库的基本操作请参考实验二,本实验中的各种数据都来自于实验三中的各个表。
实验主要容如下:1、学习创建四类完整性约束的方法。
2、学习创建视图、存储过程和索引的方法。
3、学习利用用户管理,角色管理,以及利用视图实现数据安全。
4、学习ORACLE数据库的基本备份和恢复技术。
实验过程:1.实体完整性约束方法一:create table course (cno varchar(10) not null,dno char(8) not null,cname varchar(20) not null,hours number not null,term number not null,credit number not null,constraint pk_course primary key (cno));方法二:alter table course add constraint pk_course primary key(cno) ;2.参照完整性约束alter table COURSEadd constraint FK_COURSE_DEPARTMEN_DEPARTME foreign key (dno)references department (dno);3.域约束前面建表时用的数据类型,NOT NULL等都属于域约束;alter table student add constraint chk_sex check (sex in ('男','女'));alter table student modify sex default '男';alter table student_course_teacher add constraintchk_score check (score>=0 AND score<=100);4.业务规则约束用触发器实现一下:create or replace trigger tri_del_teacherafter delete on teacherfor each rowdeclare-- local variables herebegindelete from teacher_coursewhere tno=:old.tno;delete from student_course_teacherwhere tno=:old.tno;end tri_del_teacher;/备注:最后面的斜杠“/”不能少。
南昌大学数据结构实验报告(队列)

掌握链队以及循环队列
三、实验要求
(1)编写链接队列的基本操作函数。 typedef struct QNode {
int data; struct QNode *next; }QNode,*QueuePtr; typedef struct{ QueuePtr front; //队头指针 QueuePtr rear; //队尾指针 }LinkQueue; ①进队操作 EnQueue(LinkQueue &Q, int e) ②出队操作,队空 DeQueue(LinkQueue &Q, int &e) ③输出队列中元素 0utputQueue(LinkQueue Q) (2)调用上述函数实现下列操作,操作步骤如下。 ①调用进队函数建立一个队列。 ②读取队列中的第一个元素。
(2)取队头元素功能 1.取出队头元素是:5
2.输出队列元素是:5 2 3 6 9 (3)删除队头元素功能
1.删除队列数据元素是:5 2.输出队列元素是:2 3 6 9 (4)输出队列所有元素功能 输出队列所有元素是:2 3 6 9 (5)结束功能 输入 6 结束程序! //环型队列 (1)初始化队列 (2)建立一个队列的功能 1.输入的形式和输入值的范围:输入若干正整数,用空格分隔,用 0 来表示结束。 2.输出的形式:按输入顺序输出。 3.测试数据:输入 11 12 13 14 15 0 后,输出 11 12 13 14 15 (3)取队头元素功能 1.取出队头元素是:11 2.输出队列元素是:11 12 13 14 15 (4)删除队头元素功能 1.删除队列数据元素是:11 2.输出队列元素是:12 13 14 15 (5)输出队列所有元素功能 输出队列所有元素是:12 13 14 15 (6)进队功能 1.输入进队的元素:16 2.输出所有的 (7)结束功能 输入 0 结束程序!
南昌大学C++实验4数组

南昌大学实验报告学生姓名:王维学号:6100212202 专业班级:网工121 实验类型:□验证□综合□√设计□创新实验日期:实验成绩:一、实验名称实验4 数组二、实验目的1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。
2.掌握字符数组与字符串的使用方法。
理解字符数组与其它数组的区别、理解字符串及其特点。
掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。
3.掌握与数组相关的算法,包括排序算法和查找算法等。
三、实验内容有关数组的程序设计四、实验环境PC微机DOS操作系统或Windows 操作系统visual c++程序集成环境五、实验步骤1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。
要求:(1)数组为整型数组(10个元素)。
(2)使用scanf函数实现数组元素的输入。
在输入前给出必要的提示。
(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。
(4)如果现改为20个元素的数组,怎样修改程序?2.编程实现:在给定的字符串中查找满足条件的第一个字符。
要求:(1)字符串采用初始化的方式处理。
(2)通过scanf函数读入一个任意字符。
(3)在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。
如果不存在该字符,则要给出相应的信息。
3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维整型数组(n ⨯n),形成n ⨯n阶矩阵,将矩阵中最大元素所在的行和最小元素所在的行对调后,再输出该矩阵(注意:数组不允许动态定义)。
例如:原始数据:n=4 结果数据:1 2 3 4 8 11 14 163 5 9 10 3 5 9 108 11 14 16 1 2 3 415 2 7 6 15 2 7 6要求:(1)本题中所涉及到的循环都采用for语句。
数据库实验四.视图创建和查询

南昌大学实验报告
一、实验项目名称
视图创建和查询
二、实验目的
熟悉视图定义和使用视图查询
三、实验基本原理和内容
请为三建公司项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量.针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量
(2)找出供应商S1的供应情况
四、主要仪器设备及耗材
PC机一台
五、实验步骤及实验数据及处理结果
1、创建视图:
CREATE VIEW三建供应情况
AS
SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO=(SELECT JNO
FROM J
WHERE JNAME='三建')
2、a:找出三建工程项目使用的各种零件代码及其数量
SELECT PNO,SUM(QTY)
FROM三建供应情况
GROUP BY PNO
b:找出供应商S1的供应情况
SELECT*FROM三建供应情况
WHERE SNO='S1'
六、参考资料
卫琳《SQL SERVER 2008数据库应用与开发教程》清华大学出版社2011.6。
2018-南昌大学,数据结构,实验报告-word范文 (31页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==南昌大学,数据结构,实验报告实实验课程:学生姓名:学号:专业班级:验报告数据结构6100410235计科103班201X年 6月 1日目录实验一线性表及其应用??????????????3 实验二栈和队列?????????????????12 实验三二叉树及其应用??????????????19 实验四实验五图的运用?????????????????24 查找排序???????????????? 29南昌大学实验报告---(1)线性表及其应用学生姓名:某同学学号: 6100410235专业班级:计科103班实验类型:□ 验证□ 综合■ 设计□ 创新实验日期: 201X-3-8 实验成绩:一.实验目的帮助学生掌握线性表的基本操作在顺序和链表这两种存储结构上的实现,尤以链表的操作和应用作为重点。
二.问题描述1.构造一个空的线性表L;2.在线性表L的第i个元素之前插入新的元素e; 3.在线性表L中删除第i个元素,并用e返回其值。
三.实验要求1.分别利用顺序和链表存储结构实现线性表的存储,并设计出在不同的存储结构中线性表的基本操作算法。
2.在实验过程中,对相同的操作在不同的存储结构下的时间复杂度和空间复杂度进行分析。
四.实验环境PC微机DOS操作系统或 Windows 操作系统Turbo C 程序集成环境或 Visual C++ 程序集成环境五.实验步骤1.用学生选择的语言,设计出线性表的顺序和链表存储结构; 1.设计出这两种存储结构下的线性表的插入、删除算法; 2.用所选择的语言实现算法;3.测试程序,并对不同存储结构下的算法分析。
六.测试数据和分析1.插入操作:输入数据:L = ( ) ListInsert (L, 1, 'k'), 正确结果:L = (k)输入数据:L = (EHIKMOP) ListInsert (L, 9, 't'), 正确结果:return ERROR; L = (EHIKMOP)输入数据:L = (ABCEHKNPQTU) ListInsert(L, 4, 'u'), 正确结果: L = (ABCuEHKNPQTU) 2.删除操作:输入数据:L = () ListDelete (L, 1, e) 正确结果:ERROR, L = ()输入数据:L = (DEFILMNORU) ListDelete_Sq(L, 5, e) 正确结果: L = (DEFIMNORU), e='L' 输入数据:L = (CD) ListDelete_Sq(L, 1, e) 正确结果:L = (D), e = 'C'3.如线性表有n个结点,对两种存储结构下插入和删除的时间复杂度进行分析。
南昌大学实验报告

南昌大学实验报告学生姓名:郭锦学号:5400209484 专业班级:工商092实验类型:□验证□综合□设计□创新实验日期:2012/6/2 实验成绩:(以下主要内容由学生完成)一、实验项目名称实验一二、实验目的1 进一步熟悉VFP6.0程序设计语言在实际中的运用。
2 熟悉E-R图的设计过程。
3 通过实例分析信息系统在公司战略中的作用。
三、实验基本原理1、用VFP 建立工资主文件及用SQL对其进行各种操作,如数据的插入、删除等。
表一:工资主文件结构数据项人员代码姓名部门基本工资附加工资房费字段长度 4 8 2 7.2 7.2 7.2数据类型 C C C N N N要求:将每一次操作和结果数据存入实验报告2、分别绘制三个E-R图说明实体间一对一、一对多、多对多的关系。
(自己举例)提示:注意E-R图的正确画法,在WORD的绘图工具中有所需的基本图形。
3 、某工厂生产若干产品,每种产品由不同的零件组成,有的零件所用的材料可以用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。
4 、案例分析:完成教材24页习题10:你认为本章案例中克莱斯勒公司实施EDI战略规划后,可能对其供应商产生哪些压力?四、主要仪器设备及耗材VFP6.0五、实验步骤1、(1)用Visual FoxPro 6.0建立工资主文件gzzwj.dbf:creat gzzwj.dbf(2)将表一输入(3)将数据输入表(4)利用SQL插入新的数值型字段“电费”2、(1)多对多联系:学生与课程的E-R 联系图MN(2)一对多练习:学校与教师的联系1n 学号 年龄 姓名 性别学生 选修课程课程号 课程名 学分 成绩 学校名 校址 校长 学校 年薪聘任教工号姓名 专长教师(33、(1)要求供应商的管理信息系统要与其无缝对接,加强信息交换的准确性;(2)供应商的相关业务、信息处理流程要进行相应的改造;(3)供应商要采用了、电子数据交换(EDI)、电子邮件等先进的信息系统,提高了信息获取的准确性和时效性;(4)供应商仓库地点要尽可能靠近克莱斯勒汽车装配厂,以迅速有效对其零配件需求进行反映;(5)改变原有库存模式,与其充分合作,建立战略关系。
南昌大学计算机数据库实验四_索引和视图

南昌大学计算机数据库实验四_索引和视图实验四索引和视图学号:6100410235 姓名:郑俊班级:计科103班实验日期:2012-11-15一实验目的1、掌握创建视图的T-SQL语句的用法2、掌握使用SQL Server Management Studio 创建视图和索引的方法3、掌握查看视图和索引的系统存储过程的用法4、掌握修改视图的方法5、掌握创建索引的命令二实验内容1.建立计算机系学生视图,该视图包含学生的学号、姓名和出生日期信息并查看视图定义use[学生情况]gocreate view CS_Studentasselect学号,姓名,出生日期from学生where系别='计算机'2.建立学生表中全体学生年龄的视图,该视图包含学生的学号、姓名、和年龄信息use[学生情况]gocreate view Sage_Studentasselect学号,姓名,2012-year(出生日期)年龄from学生3建立选修“数据库”的学生的视图,该视图包含学生的学号和姓名信息use[学生情况]gocreate view数据库_Studentasselect学生.学号,姓名from学生,课程注册,学期成绩where学生.学号=学期成绩.学号and课程注册.课程编号=学期成绩.课程编号and课程名称='数据库'4.建立学生成绩视图,该视图包含学生的学号、姓名、课程名称和成绩信息,并进行加密use[学生情况]gocreate view学生成绩with encryptionasselect学生.学号,姓名,课程注册.课程名称,学期成绩.成绩from学生,课程注册,学期成绩where学生.学号=学期成绩.学号and课程注册.课程编号=学期成绩.课程编号5.修改题目4中的学生成绩视图,该视图包含学生的学号、姓名、课程名称、成绩和班级信息use[学生情况]goalter view学生成绩(学号,姓名,课程名称,成绩,班别)with encryptionasselect学生.学号,姓名,课程注册.课程名称,学期成绩.成绩,学生.班别from学生,课程注册,学期成绩where学生.学号=学期成绩.学号and课程注册.课程编号=学期成绩.课程编号6.在数据库中,为“课程”表创建一个基于“课程号,课程名称”组合列的非聚集、复合索引khh_kcmc_indexuse[学生情况]gocreate unique index khh_kcmc_index on课程注册(课程编号,课程名称)7.查看学生表的索引8.建立学生表的姓名唯一性索引,并且填充因子为60%use[学生情况]gocreate unique index khh_kcmc_index on学生(姓名)with fillfactor=603.实验思考(1)是否可以通过视图v_stu_g修改grade表中学号列数据?答:不能(2)比较视图和基表操作表中数据的异同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
学生姓名:王维学号:6100212202 专业班级:网工121班
实验类型:■验证□综合□设计□创新实验日期:实验成绩:一、实验名称
实验5 创建和使用视图
二、实验目的
(1)掌握视图的创建、修改和删除。
(2)掌握使用视图来查询数据。
三、实验内容
(1)创建一个仅包含北京客户信息的视图customer_beijing。
(2)通过查询customer_beijing 视图获得北京客户的信息。
(3)修改customer_beijing 视图为仅包含北京客户的信誉等级为1的视图。
(4)删除customer_beijing 视图。
(5)创建一个视图ordersum_goods,其中的内容是每种商品的名称和每种商品的订单金额的总和。
(6)通过查询ordersum_goods 视图,获得每种商品的名称和每种商品的订单金额的总和。
四、实验环境
(1)个人计算机。
(2)Windows 7操作系统。
(3)SQL Server 2012数据库管理系统。
五、实验步骤
(1)启动企业管理器,在视图设计窗口中建立customer_beijing 视图。
(2)执行customer_beijing 视图并观察结果。
(3)在视图设计窗口中修改customer_beijing 视图。
(4)删除customer_beijing 视图。
(5)创建ordersum_goods 视图。
(6)执行ordersum_goods 视图并观察结果
六、实验结果
(1)创建一个仅包含北京客户信息的视图customer_beijing。
CREATE VIEW customer_beijing AS
SELECT*
FROM customer
WHERE address='北京'WITH CHECK OPTION
(2)通过查询customer_beijing 视图获得北京客户的信息
SELECT*
FROM customer_beijing
(3)修改customer_beijing 视图为仅包含北京客户的信誉等级为1的视图ALTER VIEW customer_beijing AS
SELECT*
FROM customer
WHERE address='北京'
AND creditgradeid=1
此时再次查询视图customer_beijing
(4)删除customer_beijing 视图
DROP VIEW customer_beijing
此时查询视图customer_beijing会报错
(5)创建一个视图ordersum_goods,其中的内容是每种商品的名称和每种商品的订单
金额的总和
CREATE VIEW ordersum_sum AS
SELECT goodsname'商品名称',
Sum(orders.ordersum)'总金额'
FROM goods,
orders
WHERE goods.goodsid=orders.goodsid
GROUP BY goodsname
(6)通过查询ordersum_goods 视图,获得每种商品的名称和每种商品的订单金额的总和
SELECT*
FROM ordersum_sum
七、总结和感想
这个实验比较简单,熟悉了查询语句,再实现视图操作会很容易。