南昌大学数据库实验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数组

南昌大学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页)

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)比较视图和基表操作表中数据的异同。

南昌大学数据库实验4

南昌大学数据库实验4

南昌大学实验报告学生姓名:王维学号: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 ASSELECT*FROM customerWHERE address='北京'WITH CHECK OPTION(2)通过查询customer_beijing 视图获得北京客户的信息SELECT*FROM customer_beijing(3)修改customer_beijing 视图为仅包含北京客户的信誉等级为1的视图ALTER VIEW customer_beijing ASSELECT*FROM customerWHERE address='北京'AND creditgradeid=1此时再次查询视图customer_beijing(4)删除customer_beijing 视图DROP VIEW customer_beijing此时查询视图customer_beijing会报错(5)创建一个视图ordersum_goods,其中的内容是每种商品的名称和每种商品的订单金额的总和CREATE VIEW ordersum_sum ASSELECT goodsname'商品名称',Sum(orders.ordersum)'总金额'FROM goods,ordersWHERE goods.goodsid=orders.goodsidGROUP BY goodsname(6)通过查询ordersum_goods 视图,获得每种商品的名称和每种商品的订单金额的总和SELECT*FROM ordersum_sum七、总结和感想这个实验比较简单,熟悉了查询语句,再实现视图操作会很容易。

2022年南昌大学信息管理与信息系统专业《数据库概论》科目期末试卷A(有答案)

2022年南昌大学信息管理与信息系统专业《数据库概论》科目期末试卷A(有答案)

2022年南昌大学信息管理与信息系统专业《数据库概论》科目期末试卷A(有答案)一、填空题1、设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。

①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。

首先应该进行的恢复操作是恢复_____,第二个应该进行的恢复操作是恢复_____。

②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句RESTORE_____FROM BKWITH FILE=1,_____;2、数据库系统是利用存储在外存上其他地方的______来重建被破坏的数据库。

方法主要有两种:______和______。

3、在SQL Server 2000中,数据页的大小是8KB。

某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。

4、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是______________,系关系的外码是______________,学生关系的主码是______________,外码是______________。

5、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。

6、____________和____________一起组成了安全性子系统。

7、从外部视图到子模式的数据结构的转换是由______________实现;模式与子模式之间的映象是由______________实现;存储模式与数据物理组织之间的映象是由______________实现。

8、采用关系模型的逻辑结构设计的任务是将E-R图转换成一组______,并进行______处理。

9、数据模型是由______________、______________和______________三部分组成。

南昌大学数值分析实验报告

南昌大学数值分析实验报告

实验报告实验课程:数值分析学生名称:学号:专业班级:2012年 6月1日目录一.用样条插值法插值的方法生成字体T、5的轮廓 (3)二.原子弹爆炸的能量估计 (14)三.PageRank算法 (17)南昌大学实验报告一姓名:学号:专业班级:实验类型:□验证□综合■设计□创新实验日期:实验成绩:一、实验目的1、用样条插值的方法生成字体T的轮廓2、C或C++语言用Bezier曲线生成并编写程序二、实验要求1、熟悉三次样条插值有关理论,并能将其运用到实际中,加深对理论知识的理解;2、要求会编程实现Bezier样条曲线,并根据所给数据绘制‘T’的轮廓。

三、主要仪器设备及耗材PC微机Windows 操作系统VS集成开发环境VS0集成开发环境的MSDN四、实验基本原理和内容Times-Roman T的数据X0 Y0 X1 Y1 X2 Y2 X3 Y3 237 620 237 620 237 120 237 120 237 120 237 35 226 24 143 19 143 19 143 19 143 0 143 0 143 0 143 0 435 0 435 0 435 0 435 0 435 19 435 19 435 19 353 23 339 36 339 109 339 109 339 108 339 620 339 620 339 620 507 620 529 602 552 492 552 492 552 492 576 492 576 492 576 492 576 492 570 662 570 662 570 662 570 662 6 662 6 662 6 662 6 662 0 492 0 492 0 492 0 492 24 492 24 492 24 492 48 602 71 620 183 620 183 620 183 620 237 620 237 620Times-Roman 5的数据X0 Y0 X1 Y1 X2 Y2 X3 Y3 149 597 149 597 149 597 345 597 345 597 761 597 365 599 368 606 368 606 406 695 368 606 406 695 406 695 397 702 406 695 397 702 397 702 382 681 372 676 351 676 351 676 351 676 351 676 142 676 142 676 33 439 142 676 33 439 33 439 32 438 32 436 32 434 32 434 32 428 35 426 44 426 44 426 74 426 109 420 149 408 149 408 269 372 324 310 324 208 324 208 324 112 264 37 185 37 185 37 165 37 149 44 119 66 119 66 86 90 65 99 42 99 42 99 14 99 0 87 0 62 0 62 0 24 46 0 121 0 121 0 205 0 282 27 333 78 333 78 378 123 399 180 399 256 399 256 399 327 381 372 333 422 333 422 288 468 232 491 112 512 112 512 112 512 149 597 149 597实验原理:所谓Bezier 曲线,是应用于二维应用程序的数学曲线。

南昌大学数据库实验报告

南昌大学数据库实验报告

实验报告实验课程:数据库原理与应用学生姓名:**学号:**********专业班级:信息管理与信息系统131班2015年06月 20 日目录一、实验一实验环境的建立 (3)二、实验二数据库及表的建立 (9)三、实验三表的查询 (12)四、实验四数据操纵 (19)五、实验五数据库完整性、安全性研究 (22)六、实验六简单系统的设计……………………………………南昌大学实验报告学生姓名:学号:专业班级:信息管理实验类型:□验证□综合□设计□创新实验日期:实验成绩:一、实验项目名称:实验环境的建立二、实验目的:1.了解SQL Server 2000常用版本和对操作系统的不同要求2.熟悉SQL Server 2000的基本性能3.正确安装和配置SQL Server 2000三、实验基本原理SQL是结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。

它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。

结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

自SQL成为国际标准语言之后,各个数据库厂家纷纷推出各自的SQL软件或与SQL 的接口软件。

这就使大多数数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate 三家公司共同开发的,于1988 年推出了第一个OS/2 版本。

在Windows NT 推出后,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。

南昌大学计算机网络安全实验报告范文-图文

南昌大学计算机网络安全实验报告范文-图文

南昌大学计算机网络安全实验报告范文-图文实实验课程:学生姓名:学号:专业班级:验报告计算机网络安全信念1314LOVE网络间谍088-1-目录一、实验一3二、实验二11三、实验三四、实验四2327-2-南昌大学实验报告一学生姓名:信念学号:1314LOVE专业班级:网络间谍088班实验类型:验证□综合□设计□创新实验日期:实验成绩:一、实验名称DES算法的实现二、实验目的通过用DES算法对实际的数据进行加密和解密来深刻了解DES的运行原理。

三、实验基本原理和内容1.DES算法详述DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,3 5,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,即将输入的第58位换到第一位,第50位换到第2位,,依此类推,最后一位是原来的第7位。

L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3D64,则经过初始置换后的结果为:L0=D550D8;R0=D57D49 (7)经过26次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。

逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下表所示:40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54, 22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,1 1,51,19,59,27,34,2,42,10,50,18,5826,33,1,41,9,49,17,57,25,放大换位表32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25, 24,25,26,27,28,29,28,29,30,31,32,1,单纯换位表16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25,在f(Ri,Ki)算法描述图中,S1,S2...S8为选择函数,其功能是把6bit数据变为4bit数据。

南昌大学计算机数据库实验二 数据库和表的操作

南昌大学计算机数据库实验二  数据库和表的操作

SQL Server2005实验指导书实验二数据库和表的操作一.实验目的:1.了解数据库的结构特点、领会数据库中三种类型的文件特点2.学会创建和管理数据库的方法3.了解SQL SERVER的基本数据类型4.了解表结构的特点,学会创建和管理表的方法5.学会使用T-SQL语句创建和管理表二、实验学时2学时三、实验要求1.了解SQL Server数据库结构;2.熟练使用Management Studio或者2000系统下的企业管理器多种方式设计和创建及编辑数据库;3.熟练进行数据库分离附加操作;4.独立完成实验内容,并提交书面实验报告。

四、实验内容1.设计和创建数据库,及管理数据库2.设计和创建数据表,及表基本操作一插入数据。

五、实验步骤内容一:数据库的设计与创建数据库分析1.创建用于学生信息分析的数据库,名称为“学生信息”。

2.主数据文件“学生信息_data”,物理存储路径为”e:\个人目录\学生信息_data.mdf”,初始大小为3mb,最大容量为10mb,递增量为1mb,文件组为primary 文件组。

3.事物日志文件“学生信息_log”,物理存储路径为”e:\个人目录\学生信息_log.ldf”,初始大小为2mb,最大容量为5mb,递增量为10%。

内容二:数据库的管理1.利用sp_helpdb查看数据库“学生信息”的信息。

2.将创建的数据库改名为“学生情况”。

3.通过sql语句做如下修改:(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb (2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mb. 4.收缩数据库“学生情况”的容量内容三:设计与管理表1.通过sql语句创建表1“学生”,并保存结果。

表结构如下:2.通过sql语句创建表2“学期成绩”,标结构如下:3.创建表3“课程注册”,表结构如下:4.用sql语句在“学生”表中添加一格“备注”字段并保存结果5. 用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果6. 用sql语句删除“学生成绩”表中的“备注”字段并保存结果内容四:表的基本操作1.向学生表中添加信息。

南昌大学计算机数据库实验五 数据完整性

南昌大学计算机数据库实验五  数据完整性

实验五数据完整性(2学时)学号:6100410235 姓名:郑俊班级:计科103班实验日期:2012-11-22 1.实验目的(1)掌握SQL Server管理平台和Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。

(2)掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_helptext查询规则信息、sp_rename更名规则的方法。

(3)掌握SQL Server管理平台和Transact-SQL语句(CREATE DEFAULT、DROP DEFAULT)创建和删除默认对象的方法。

(4)掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询默认对象信息。

(5)掌握SQL Server管理平台和Transact-SQL语句(CREATE TABLE、ALTER TABLE)定义和删除约束的方法,并了解约束的类型。

2.实验内容(1)为学生情况数据库中学生表的创建一个规则stu_s_rule,限制“学号”列所输入的数据为4位0~9的数字。

use[学生情况]gocreate rule stu_s_ruleas@学号between 0000 and 9999(2)创建一个规则stusex_rule,将其绑定到学生表的“性别”列上,保证输入的性别值只能是“男”或“女”。

use[学生情况]gocreate rule stusex_ruleas@性别in('男','女')(3)使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。

sp_help stusex_rulesp_helptext stusex_ruleuse[学生情况]gosp_rename'stusex_rule','stu_s_rule'(4)删除stu_s_rule规则。

实验3查询数据库

实验3查询数据库

南昌大学实验报告学生姓名:华国平学号: 6100411092 专业班级:计算机科学与技术112班实验类型:□验证□综合□设计□创新实验日期: 2013.11.5 实验成绩:实验三查询数据库一、实验目的(1)掌握基本的SELECT查询及其相关子句的使用。

(2)掌握复杂的SELECT查询,如多表查询、子查询、连接和嵌套查询。

二、实验内容(1)从customer表中查询所有客户的姓名和电话。

(2)查询库存量大于1000的商品,结果按库存量从大到小排序。

(3)查询每个客户的订单金额的总和。

(4)查询2005年上半年(1月1日到6月30日)订货总数大于5000的商品。

(5)查询所有北京客户的订单信息,包括订单的序号、客户的姓名、商品名、数量。

(6)查询所有商品在什么时间卖出了多少。

(7)查询没有订单的商品信息。

(8)查询每种商品的销售总数量和总金额。

三、实验环境(1)个人计算机或局域网。

(2)Windows 2000操作系统。

(3)SQL Server 2000数据库管理系统。

四、实验步骤(1)启动查询分析器,选择market数据库。

(2)在查询编辑窗口中分别输入SQL语句并执行。

五、实验报告5.1 使用查询分析器查询数据使用查询分析器查询数据的操作步骤如下:(1)打开查询分析器。

执行“开始”︱“程序”︱“Microsoft SQL Server”︱“查询分析器”命令,即可启动查询分析器。

如果是在企业管理器界面下,执行菜单中的“工具”︱“查询分析器”命令,也可启动查询分析器。

在启动查询分析器后,会出现如图所示的“连接到SQL Server”对话框。

如果使用Windows身份验证,可单击“Windows身份验证”单选按钮,然后单击“确定”按钮,即可使用Windows的当前用户账户连接到SQL Server服务器。

如果选中“SQL Server 身份验证”单选项,则需要输入登录名和密码。

然后单击“确定”按钮,即使用SQL Server 账户连接到SQL Server服务器。

南昌大学计算机实验报告模板

南昌大学计算机实验报告模板

实验报告实验课程:学生姓名:学号:专业班级:2015年 2 月 25 日目录实验1 线性表 (3)实验2 栈与队列 (4)实验3 串 (5)实验4 数组与广义表 (6)实验5 二叉树的操作 (7)实验6 图 .................................................................................................... 错误!未定义书签。

实验7 查找的操作 (9)实验8 排序的操作 (10)综合性实验(数据结构课程设计) (11)南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新实验日期:2011-10-10 实验成绩:实验1 线性表一.实验目的1.熟悉线性表抽象数据类型的表示和实现方法。

2.掌握线性表上的基本操作。

二.实验基本原理IDE环境中进行C程序开发的基本过程三.主要仪器设备及耗材PC微型计算机系统DOS操作系统或Windows 操作系统Turbo C 集成开发环境、Visual C++ 开发环境、或其它C语言开发环境。

四.实验步骤1.进入所选择的IDE环境。

2.书写程序源代码。

3.调试程序。

4.验证程序。

五.实验项目实验课题:编程实现一元多项式的表示及加法运算。

(要求给出算法、流程图、运行结果的屏幕截图,源程序电子打包提交)六.思考讨论题或体会或对改进实验的建议总结实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。

七.参考资料《数据结构习题集》(C语言版) 严蔚敏吴伟民编著清华大学出版社《C程序设计题解与上机指导》(第三版)谭浩强编著清华大学出版社南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新实验日期:2011-10-17 实验成绩:实验2 栈与队列一.实验目的3.熟悉栈与队列抽象数据类型的表示和实现方法。

4.掌握栈与队列的基本操作。

二.实验基本原理IDE环境中进行C程序开发的基本过程三.主要仪器设备及耗材PC微型计算机系统DOS操作系统或Windows 操作系统Turbo C 集成开发环境、Visual C++ 开发环境、或其它C语言开发环境。

南昌大学数据结构实验报告(C++)

南昌大学数据结构实验报告(C++)

实验报告实验课程:数据结构学生姓名:学号:专业班级:网络工程班2014年 6月 30日目录一、实验一长方形-------------------------3二、实验二循序表------------------13三、实验三链表--------------------29四、实验四循环双链表---------------51南昌大学实验报告---(1)长方形数据结构C++类学生姓名:学号:专业班级:实验类型:□验证■综合□设计□创新实验日期:2014-6-25 实验成绩:【实验题目】长方形数据结构C++类【实验步骤】1.需求分析为实现长方形的输入输出和其他操作,我们进行如下需求分析:●长方形相关数据的输出●重载赋值运算符的定义●输出长方形的面积●测试数据2.概要设计为了实现上述功能,需要设定以下模块:主程序模块↓测试长方形模块↓派生长方形模块↓抽象长方形模块设置长设置宽.......各模块之间调用关系如图3.详细设计①长方形数据结构基类template <typename ElemType>class Rectangle{public:class RectangleNo{public:int no;};Rectangle operator=(Rectangle rightR);void setLength(ElemType l);void setWidth(ElemType z);void setNo(int i);ElemType Area(ElemType);Rectangle();Rectangle(const Rectangle& otherD);virtual~Rectangle();protected:ElemType length;ElemType width;RectangleNo myNo;};template <typename ElemType>Rectangle<ElemType> Rectangle<ElemType>::operator = (Rectangle<ElemType> rightR) {if(this!=&rightR){length=rightR.length;width=rightR.width;myNo=rightR.myNo;cout<<" 赋值后,当前的长方形为("<<length<<","<<width<<")"<<endl;}return *this;}template <typename ElemType>void Rectangle<ElemType>::setLength(ElemType l){length=1;}template <typename ElemType>void Rectangle<ElemType>::setWidth(ElemType z){width=z;}template <typename ElemType>ElemType Rectangle<ElemType>::Area(ElemType){return length*width;}template <typename ElemType>void Rectangle<ElemType>::setNo(int i){myNo.no=i;}template<typename ElemType>Rectangle <ElemType>::Rectangle(){length=width=0;cout<< " 自动调用构造函数"<<endl;}template<typename ElemType>Rectangle<ElemType>::Rectangle(const Rectangle<ElemType>& otherD){length = otherD.length;width =otherD.width;myNo = otherD.myNo;cout<<" 自动调用拷贝初始化构造函数初始化为(";cout<<length<<","<<width<<")"<<endl;}template<typename ElemType>Rectangle<ElemType>:: ~Rectangle(){cout<<"\n 第"<<myNo.no<< "长方形对象("<<length<<","<<width<<")生存期结束!"<<endl;}②循环单链表派生类template<typename ElemType>class MyRectangle: public Rectangle<ElemType>{public:void read(istream& in);void diaplay(ostream& out) const;};template<typename ElemType>void MyRectangle<ElemType>::read(istream& in){cout<<" 请输入第"<<myNo.no<<"个长方形对象"<<endl;cout<<" 长方形中的长";in>>length;cout<<" 长方形中的宽";in>>width;}template<typename ElemType>istream& operator>>(istream& in, MyRectangle<ElemType>& iD){iD.read(in);return in;}template<typename ElemType>void MyRectangle<ElemType>::diaplay(ostream& out) const{out<<" 第"<<myNo.no<<"个长方形对象长="<<length<<"\t 宽="<<width<<"\t 面积="<<length*width<<endl;}template<typename ElemType>ostream&operator<<(ostream& out, const MyRectangle<ElemType>& oD){oD.diaplay(out);return out;}③主程序模块void main(){MyRectangle<float> rec;int choose;char continueYesNo='N';while(1){choose=0;system("cls");cout<<endl;cout<<"*****************测试长方形的操作******************"<<endl<<endl;cout<<"\t 1.设置长方形的序号"<<endl;cout<<"\t 2.设置长方形的长"<<endl;cout<<"\t 3.设置长方形的宽"<<endl;cout<<"\t 4.重载赋值运算符的定义"<<endl;cout<<"\t 5.求长方形的面积"<<endl;cout<<" 其他,结束"<<endl<<endl;cout<<" by网工121 吴垂优"<<endl;cout<<"/////////////////////////////////////////////////////////////"<<endl;displayCurrentObject(rec);cout<<"/////////////////////////////////////////////////////////////"<<endl;cout<<" 请选择你要操作的代码(-)号码:";cin>>choose;if(choose>0 && choose<6){system("cls");displayCurrentObject(rec);}switch(choose){case 1: ex2_1_1(rec,continueYesNo);break;case 2:ex2_1_2(rec,continueYesNo) ;break;case 3:ex2_1_3(rec,continueYesNo) ;break;case 4:ex2_1_4(rec,continueYesNo) ;break;case 5:ex_2_1_5(rec,continueYesNo) ;break;default: cout<<"\n 你选择了结束。

南昌大学实验报告4

南昌大学实验报告4

南昌大学实验报告学生姓名:刘厚辉学号:8001510019 专业班级:软件技术101 实验类型:□验证□综合□设计□创新实验日期:实验成绩:(以下主要内容由学生完成)一、实验项目名称实验4:DHCP、WINS服务的安装与配置二、实验目的①了解DHCP(动态主机配置协议)的概念及DHCP的执行过程.②了解WINS名字解析方法及过程,WINS客户机,掌握如何配置WINS服务器.三、实验基本原理DHCP是动态主机配置协议。

它是一种TCP/IP标准,主要用于通过服务器计算机来集中管理用户网络上使用的IP地址和其他相关配置信息,以减少管理地址配置的复杂性。

简单地说,DHCP就是一个申请IP地址的客户机与提供地址的服务器间的四线会话。

WINS(Windows Internet Name Service),也被称为Windows Internet 命名服务.由于在混合网络的环境中,低级客户机,如运行Microsoft Windows 98或Microsoft Windows NT 4.0的计算机,使用网络基本输入/输出系统(NetBIOS)名字进行通信,因此在带有低级客户机的Windows 2000的网络就要求有一种方法,能够把NetBIOS名字解析成Internet Protocol(IP)地址.而Microsoft版本的TCP/IP包括应用程序接口(API),它使应用程序能够构成一个使用NetBIOS名称的网络申请,并把该名称翻译成IP地址.这样,可以使用TCP/IP协议写出用于通信的NetBIOS应用程序.WINS正是这样的程序,实际上它就是一个增强的NetBIOS名字服务器,它注册NetBIOS计算机名字并把它们解析成IP地址.四、主要仪器设备及耗材①安装与配置DHCP与WINS的服务器、客户端。

五、实验步骤Ⅰ.DHCP的设置ⅰ.新建作用域DHCP服务器提供客户端来要求使用IP地址,因此第一个管理工作,就是新建一个发放IP地址范围的作用域。

数据库第四次实验报告

数据库第四次实验报告

数据库第四次实验报告南昌航空大学试验报告二0一年月日课程名称:数据库概论试验名称:存储过程及触发器班级:姓名:同组人:指导教师评定:签名:试验参考代码及结果存储过程:创建存储过程9.11CRETE PROCEDURE Select_S S SELECT * FROM S WHERE sex=女GOExecute Select_S9.12CRETE PROCEDURE InsRecToS(@sno chr(5),@sn vrchr(8),@sex chr(2)=男,@ge int,@dept vrchr(20)) S INSERT INTO S VLUES(@sno,@sn,@sex,@ge,@dept) GOExecute InsRecToS @sno=S8,@sn=罗兵,@ge=18,@dept=信息执行前:执行后:9.13CRETE PROCEDURE Query_S(@Sno chr(5),@SN VRCHR(8) OUTPUT,@ge SMLLINT OUTPUT)SSELECT @sn=sn,@ge=geFROM SWHERE Sno=@Sno〔2〕执行存储过程Declre @SN VRCHR(8),@GE SMLLINTexecute Query_S 98010,@SN OUTPUT,@GE OUTPUT SELECT @SN,@GE〔3〕查看和修改存储过程9.14LTER PROCEDURE[dbo].[InsRecTos] (@sno chr(5),@sn vrchr(8),@sex chr(2)=女,@ge smllint,@dept vrchr(20)) SINSERTINTO SVLUES(@sno,@sn,@sex,@ge,@dept)〔4〕查看、重命名和删除存储过程9.15exec sp_helptext Select_S9.16sp_renme Select_S,Select_Student执行后:9.17DROP PROCEDURE Select_Student执行后:〔5〕在DingBo数据库中创建存储过程C_P_Proc,实现参数化查询顾客订阅信息,查询参数为顾客姓名,要求能查询出参数指定顾客的顾客编号、顾客名、订阅报纸名及订阅报纸份数等信息。

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

实验报告实验课程:数据库原理与应用学生姓名:郭慧学号:6100512019专业班级:电子商务121班2014 年 5 月 23 日南昌大学实验报告学生姓名:郭慧学号:6100512019 专业班级:电子商务121班实验类型:□验证□综合□设计□创新实验日期:2014-5-23 实验成绩:实验3 安全性一、实验目的1、会设置SQL Server 2012登录验证模式2、会创建登录、角色及SQL Server 2012数据库用户3、会授予与收回用户权限二、实验内容1、使用SQL Server Management Studio创建和管理数据库用户及角色。

【任务描述】创建一个服务器登录,名称为studentuser1,创建一个数据库角色student,创建一个学生课程student数据库的用户susan。

【任务分析】一个SQL Server登录账号只有成为数据库的用户,对该数据库才有访问权限。

每个登录账号在一个数据库中只能有一个用户账号,但可以在不同的数据库中各有一个用户账号。

角色分为服务器角色和数据库角色两种,本任务要求创建的是数据库角色。

2、使用SQL Server Management Studio授予用户权限。

【任务描述】创建SQL Server登录账号John,然后与student数据库中的用户studentuser2相关联,最后删除登录账号John。

【任务分析】使用系统存储过程来完成权限的管理。

根据任务要求,先查看student数据库中有没有用户studentuser2,如果无此用户,要先创建。

注意:最后要删除与登录名相关联的数据库用户,才能删除登录账户。

3、使用T-SQL语句创建、查看、删除SQL Server登录账户。

【任务描述】创建SQL Server登录账号John,然后与student数据库中的用户studentuser2相关联,最后删除登录账号John。

【任务分析】使用系统存储过程来完成权限的管理。

根据任务要求,先查看student数据库中有没有用户studentuser2,如果无此用户,要先创建。

注意:最后要删除与登录名相关联的数据库用户,才能删除登录账户。

4、使用T-SQL语句创建和管理数据库用户及角色。

【任务描述】使用T-SQL语句创建和管理数据库用户Peter。

【任务分析】创建用户名时,必须关联一个登录名,可以分为三个子任务:(1)使用CREATE USER语句,创建一个名为Peter的登录名。

(2)创建用户Peter,并将它与登录名Peter进行映射关联。

(3)创建角色auditors,并将用户Peter加入auditors角色中。

5、使用T-SQL语句授予与收回用户权限。

【任务描述】授予用户Peter查看student数据库中课程注册和学期成绩表的权限;然后拒绝Peter 查看student数据库中学期成绩的权限;撤消Peter查看student数据库中课程注册的权限。

【任务分析】根据任务要求,使用GRANT,DENY和REVOKE语句来完成权限的管理。

在SQL Server中使用GRANT、DENY、REVOKE三条Transact-SQL语句来管理权限。

GRANT命令用于把权限授予某一用户,以允许该用户执行针对某数据库对象的操作或允许其运行某些语句。

DENY命令可以用来禁止用户对某一对象或语句的权限,它不允许该用户执行针对数据库对象的某些操作或不允许其运行某些语句。

REVOKE命令可以用来撤销用户对某一对象或语句的权限,使其不能执行操作,除非该用户是角色成员,且角色被授权。

三、实验操作、实验代码、数据处理及结果任务一1、启动SQL Server Management Studio,在“对象资源管理器”窗口中选择服务器,展开【安全性】︱【登录名】,右击【登录名】,在弹出的快捷菜单中选择“新建登录名”命令。

打开“新建登录名-新建”对话框,在“常规”选项页面中的“登录名”文本框内输入用入登录名称,如“studentuser1”,同时在密码框内输入密码和确认密码框内再次输入相同密码,默认数据库选择“学生信息”,最后点击“确定”按钮。

2、在“对象资源管理器”窗口中选择服务器,展开“数据库︱学生信息︱安全性︱角色”,右击“数据库角色”,在弹出的快捷菜单中单击“新建角色”命令,打开“数据库角色-新建”对话框,在角色名称中输入“student”,然后单击“所有者”文本框右侧的浏览按钮。

在打开的“选择数据库用户或角色”对话框中,单击右侧的“浏览”按钮,打开“查找对象”对话框中,在列表框中选择“student”数据库角色。

由于未找到student项目,故直接创建2、在“对象资源管理器”窗口中选择服务器,展开“数据库︱学生信息︱安全性”,右击“用户”,在弹出的快捷菜单中选择“新建用户”命令。

打开“新建用户-新建”对话框,在“常规”选项页面中的“用户名”文本框内输入用户名称,如“susan”。

3、单击“登录名”右侧的选择按钮,打开“选择登录名”对话框,点击右侧的“浏览”按钮,打开“查找对象”对话框,选择登录名,如“studentuser1”。

返回“数据库用户-新建”对话框中,选择赋给用户的数据库角色在“数据库角色成员身份”列表框中选择“student” ,完成新用户创建。

任务二1、启动SQL Server Management Studio,在“对象资源管理器”窗口中选择服务器,展开”数据库︱学生︱安全性︱用户,右击用户名”Susan”,在弹出的快捷菜单中选择“属性”命令。

打开“数据库用户Susan”对话框,选择“安全对象”页,单击“添加”按钮。

未找到添加按钮,但是搜索按钮与添加按钮功能相同。

2、打开“添加对象”对话框,选择“特定对象”单选按钮,然后单击“确定按钮,如左图所示。

在打开的“选择对象”对话框,单击右侧的“对象类型”按钮。

打开“选择对象类型”对话框,在列表中选择相应的选项,单击确定按钮3、在“选择对象”对话框中,单击右侧的“浏览”按钮,打开“查找对象”对话框,选择表Course等,然后单击“确定“按钮,如左图所示。

在“数据库用户Susan”对话框内,先选择表Choice ,然后在对话框下方的student显式权限列表框内选择Alter权限、Delete 权限、Insert权限、Select权限,再进一步设置“列权限”4、打开“列权限”对话框,对相应的列授予权限任务三1、源代码Sp_addlogin ‘John’,’wuygh1994’,studentGoExec sp_helploginsUse studentExe sp_helpuserGoUse studentExec sp_grantdbaccess ‘John’,’studentuser2’GoExec sp_revokedbaccess ‘studentuser2’Exec sp_dropl ogin ‘John’2、结果任务四1、源代码USE 学生信息GOCREATE LOGIN Peter WITH password=‘wuygh1994’CREATE USER Peter FOR LOGIN PeterGOCREATE ROLE auditorsEXECUTE sp_addrolemember ‘auditors’,’Peter’2、结果任务五1、源代码USE 学生信息GRANT SELECT ON 课程注册 TO PeterGRANT SELECT ON 学期成绩 TO PeterGODENY SELECT ON 学期成绩 TO Peter GOREVOKE SELECT ON 课程注册 TO Peter GO2、结果四、拓展练习1、如何设置sa的密码?答:2、两种登录模式有何区别?答:windows身份验证由windows验证并分配有效的安全ID,同时也只能windows用户登录连接。

sqlserver身份验证需要在数据库中设置用户和密码,才能登录可以登录的数据库.五、练习1、SQLSERVER有几种验证方式?它们的区别是什么?答:SQLServer支持Windows身份验证模式和混合模式两种身份验证模式。

这两种身份验证模式的区别有:1、Windows 身份验证模式只进行 Windows 身份验证。

用户不能指定 SQL Server 2000 登录 ID。

这是 SQL Server 2000 的默认身份验证模式。

不能为在 Windows 98 上运行的 SQL Server 实例指定 Windows 身份验证模式,因为此操作系统不支持 Windows 身份验证。

2、混合模式如果用户在登录时提供了 SQL Server 2000 登录 ID,则系统将使用 SQL Server 身份验证对其进行验证。

如果没有提供 SQL Server 2000 登录 ID 或请求 Windows 身份验证,则使用 Windows 身份验证对其进行身份验证。

2、什么是角色?服务器角色和数据库角色的区别是什么?答:角色是权限的集合1、服务器角色就是针对整个数据库服务器设定的角色和权限。

服务器角色是针对服务器这个层次的权限而言的,也就是说一般加入到服务器角色里的用户都是具有对服务器一定的管理权限。

2、数据库角色就是针对某个特定数据库设定的角色和权限。

数据库角色是针对数据库层次而言的,用户加入到某个数据库的数据库角色中后,这个用户只是在这个数据库里面具有在角色里指定的用户权限。

3、权限分为哪几种?它们有什么区别?答:权限是用户对某一数据对象的操作权利,权限可分为读(Read)权限、插入(Insert)权限、修改(Update)权限、删除(Delete)权限。

不同的权限只能操作他们特定的对象,对象不同,选择的权限就不同。

4、添加一个用户账户studentuser,其登录密码为s123456。

答:5、删除上面的用户studentuser 。

答:六、实验总结本实验文字要求多为2005版本的SQL所可以执行的,但是在新版2012中很多按钮无法得到实现,但是找到相关点实验还是可以进行的。

实际操作并不需要使用许多T—SQL语句,很多操作可以直接在对象资源管理器中进行。

操作过程中出现了一些不太清晰的过程。

很多实验文字代码由于之前建表过程中没有设计到,我直接转换成了原来表中设计的代码。

登录验证模式分为windows验证和SQLserver验证,我们一般采用的是windows验证。

权限是用户对某一数据对象的操作权力,数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令未被授权的人员无法接近数据库,这里需要采用GRANT、REVOKE、以及deny的语句。

相关文档
最新文档