电位差计实验报告数据(共9篇)
电位差计实验报告数据 篇1
V 0 2 4 6 8 10 10.2 10.4 10.6 10.8 10.9 11 11.1 11.2 11.3 11.4 11.6 11.8 12 12.5 13 13.5 14.5 15 pH 3.32 4.09 4.46 4.76 5.11 5.73 5.91 6.15 6.36 6.78 7.08 7.16 7.88 8.78 9.89 10.22 10.46 10.71 11.05 11.24 11.35 11.47 11.55 11.58
V 0 2(ΔpH/ΔV)
0.385 4 6 8 10 10.2 10.4 10.6 10.8 10.9 11 11.1 11.2 11.3 11.4 11.6 11.8 12 12.5 13 13.5 14.5 15 0.185 0.15 0.175 0.31 0.9 1.2 1.05 2.1 3 3.8 4.2 9 11.1 3.3 1.2 1.25 0.85 0.38 0.22 0.24 0.3 0.2
数据通路实验报告 篇2
数据通路实验报告
一. 实验概述。
1.数据通路的设计原则。
数据通路的设计直接影响到控制器的设计,同时也影响到数字系统的速度指标和成本。一般来说,处理速度快的数字系统,其中独立传递信息的通路较多。当然,独立数据传送通路的数量增加势必提高控制器设计复杂度。因此,在满足速度指标的前提下,为使数字系统结构尽量简单,一般小型系统中多采用单一总线结构。在较大系统中可采用双总线结构或者三线结构。2.数据通路的结构。
① 算术逻辑单元ALU:有S3,S2,S1,S0,M,CN等6个控制端,用于选择运算类型。
② 暂存器A和B:保存通用寄存器组读出的数据或BUS上来的数据。③ 通用寄存器组R:暂时保存运算器单元ALU算出的结果。④ 寄存器C:保存ALU运算产生的进位信号。
⑤ RAM随机读写存储器:受读/写操作以及时钟信号等控制。⑥ MAR:RAM的专用地址寄存器,寄存器的长度决定RAM的容量。⑦ IR:专用寄存器,可存放由RAM读出的一个特殊数据。
⑧ 控制器:用来产生数据通路中的所有控制信号,它们与各个子系统上的使能控制信号一一对应。
⑨ BUS:单一数据总线,通过三态门与有关子系统进行连接。
数据通路实验报告
二. 实验设计及其仿真检测。
一,运算器。
8位运算器VHDL
数据通路实验报告
数据通路实验报告
二波形仿真
存储器。
顶层设计:
其中sw_pc_ar的VHDL语言描述:,数据通路实验报告
波形仿真
三,原仿真实验电路。
数据通路实验报告
仿真结果:
四,修改电路。
因为此次实验结果需要下载到FPGA板中进行操作及观察,而原始电路中,需要输入的变量数量过多,导致电板中的输入按键不够用,所以需要对电路进行修改。此时我们引入一个计数器PC来代替需要手动输入的指令alu_sel[5..0]以及数据d[7...0]。同时还需要引入数码管的位选信号译码器choose和段选信号译码器xianshi。计数器PC的VHDL语言描述
数据通路实验报告
位选信号译码器choose的VHDL语言描述
数据通路实验报告
段选信号译码器的VHDL语言描述
经过修改和完善以后的电路图为
数据通路实验报告
完善后的电路的引脚分配情况
数据通路实验报告
三. 实验过程。
a)进行数学运算以及将运算结果储存在某个固定的内存地址处。然后从该地址处读出结果 i.ii.打开pc_sel[2],重置地址计数器。
打开总线开关bus_sel[0],和PC_sel[2],pc_sel[1],pc_sel[0],让地址计数器开始计数,跳变到某个地址x时关闭。
iii.打开总线开关BUS_SEL[4],打开暂存器r1的开关ld_reg[4],然后打开计数器开关en计数器开始计数,当计数到需要的数字a时,关闭计数器开关en,此时数字a存入暂存器r1,关闭暂存器的开关ld_reg[4],后再关闭总线开关BUS_SEL[4],然后再打开计数器的清零开关clr再关闭。iv.v.同理第iii步,在暂存器r2中存入数据b。打开总线开关
bus_sel[0].地址计数器开关
ld_reg[0]和pc_sel[2],pc_sel[1],pc_sel[0]选择存储地址 vi.打开运算器到总线的开关bus_sel[1],打开计数器en计数开关en当计数器跳
数据通路实验报告
变到加法指令011001时,关闭计数开关en,然后代开rom的地址开关pc_sel[2],以及可写开关we_rd[1]。将从运算器中计算出来的运算结果a+b存储到ram中的x地址中,关闭可写开关we_rd[1],关闭pc_sel[2]和总线开关,最后将计数器清零。
vii.打开ram的可读开关,读取x地址处的数据a+b。
四. 实验现象。
输入数据a
输入数据b
数据通路实验报告
进行运算并将运算结果写入内存
数据通路实验报告
从内存中读取计算结果
数据通路实验报告
五. 实验心得。
第一次在电板上进行这么多的操作。操作过程虽然很多,但只要理解操作过程,明白各个按键所设置的引脚作用,实验其实并不难,重点在于要理解过程,明白数据的输入,存入寄存器,运算以及往内存中进行存取值的操作,那么数据通路的按键很容易记住。
数据库实验报告 篇3
一、题目要求
某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:
银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。每个帐户被赋以唯一的帐户号。银行记录每个帐户的余额、开户的支行以及每个帐户所有者访问该帐户的最近日期。另外,每个储蓄帐户有其利率,且每个支票帐户有其透支额。每笔贷款由某个分支机构发放,能被一个或多个客户所共有。每笔贷款用唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次支付的情况(银行将贷款分几次付给客户)。虽然贷款号不能唯一标识银行所有为贷款所付的款项,但可以唯一标识为某贷款所付的款项。对每次的付款需要记录日期和金额。
二、需求分析
这一部分主要是根据实验需求对银行系统需求中的实体、实体属性以及实体之间的关联进行确认,以便画出正确的概念模型。
2.1 实体确认
根据需求分析确认实体:银行员工、银行支行、客户、账户(其中:储蓄账户、支票账户是继承实体账户而来)、贷款、支付(弱实体)。
2.2 实体属性确认
银行员工:身份证号(pi)、姓名、电话号码、家庭地址、开始工作日期 银行支行:支行名、资产、城市
客户:身份证号、姓名、街道、所在城市 账户:账户号、余额、最近访问日期 支票账户:透支额 储蓄账户:利率 2.3 实体关系确认
账户和支行:N:1定义关系为Relationship_accout_bank 客户和贷款:M:N定义关系为Relationship_client_loan 客户和员工:M:1 定义关系为 Relation_client_staff 贷款和支行:1:N 定义关系为 Relationship_loan_bank 客户和账户:M:N 定义关系为 client__accout 贷款发放信息和贷款:N:1 定义关系为 Relationship_loan_pay 支行和员工:1:N 定义关系为Relationship_staff_bank
员工和员工:1:N 定义关系为 Relationship_lead
三、概念模型(CDM)
根据sybase power designer画出概念模型(CDM),如下图所示:
四、物理模型(PDM)
数据结构上机实验报告 篇4
课程 数据结构 _ 院 系
专业班级 实验地点
姓 名 学 号
实验时间 指导老师
数据结构上机实验报告1
一﹑实验名称:
实验一——链表
二﹑实验目的:
1.了解线性表的逻辑结构特性;
2.熟悉链表的基本运算在顺序存储结构上的实现,熟练掌握链式存储结构的描述方法;
3.掌握链表的基本操作(建表、插入、删除等)4.掌握循环链表的概念,加深对链表的本质的理解。5.掌握运用上机调试链表的基本方法
三﹑实验内容:
(1)(2)(3)(4)创建一个链表 在链表中插入元素 在链表中删除一个元素 销毁链表 四﹑实验步骤与程序
#include
LinkList p,q;L=(LinkList)malloc(sizeof(Lnode));L->next=NULL;q=L;
cout<<“请输入一个链表:”< for(int i=0;i { p=(LinkList)malloc(sizeof(Lnode)); cin>>p->data; p->next=q->next; q->next=p; q=p; } } int PrintLinkList(LinkList &L){//输出链表L的数据元素 LinkList p; } void LinkListLengh(LinkList &L){//计算链表L的数据元素个数。int i=0;p=L->next;if(L->next==NULL){ } cout<<“链表的数据元素为:”;while(p) { cout< data<<“ ”; p=p->next;} cout<<“链表没有元素!”< } LinkList p;p=L->next;while(p){ i++; p=p->next; } cout<<“链表的数据元素个数为:”< LinkList p,s;int j=0;p=L; while(p&&j } if(!p||j>i-1){ p=p->next;++j; } } cout<<“插入元素的位置不合理!”;return 0;s=(LinkList)malloc(sizeof(LNode));s->data=x;s->next=p->next;p->next=s;return 1;int DeleteLinkList(LinkList &L,int i){//删除链表L的第I个数据元素。 LinkList p,q;int j=0;p=L;while(p->next&&j } if(!(p->next)||j>i-1){ p=p->next;++j; } } cout<<“删除元素的位置不合理!”;return 0;q=p->next;p->next=q->next;i=q->data;free(q);return 1;void DestroyLinkList(LinkList &L){//销毁链表L。 LinkList p,q;p=L->next;while(L->next!=NULL){ q=p->next;L->next=q; free(p);} p=q; free(L); cout<<“链表已经被销毁!”< LinkList L; int i,j,x;cout<<“第一次数据结构上机实验—链表”< CreatLinkList(L,j); LinkListLengh(L); PrintLinkList(L); cout<<“在第几个元素前插入:”;cin>>i;cout<<“输入插入的元素:”;cin>>x; InsertLinkList(L,i,x); LinkListLengh(L); PrintLinkList(L); cout<<“输入删除元素的位置:”;cin>>i; DeleteLinkList(L,i); LinkListLengh(L); PrintLinkList(L); cout<<“销毁程序后为:”< DestroyLinkList(L);} 五﹑实验结果 六﹑实验心得体会: 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。 实验的程序设计规划(实现的功能、分几个模块、子函数)(1)编写链表创建子函数void CreatLinkList(L,j)(2)编写链表插入子函数 int InsertLinkList(LinkList &L, int i, int x)(3)链表的打印int PrintLinkList(LinkList &L)(4)编写链表删除子函数 int DeleteLinkList(LinkList &L,int i)(5)编写链表销毁子函数void DestroyLinkList(LinkList &L)(6)编写主函数Main(),通过功能菜单调用子函数(7)编译调试程序 经过多次的调试,修改,实验结果终于正确了,在这个过程中,经历了不知道怎么进行声明区的编写如包含文件,宏定义,函数声明,全局变量声明,结构体等的定义等的结合,到学会了使用先把程序主要规划为四个部分来写就简单多了,第一,定义;第二,写所要调用的子函数;第三,写主函数,调用子函数;第四就是程序的编译与调试,修改。数据结构实验需要我们对每个程序的算法有深刻的理解,才能应用到实际中去,因此我们需要在做实验之前要熟悉实验的内容,且先把所要实验的程序写出来,在实验中就可以查找错误并加以改正,这是一个成长的过程。 数据结构上机实验报告一﹑实验名称: 实验二—队列 二﹑实验目的: 1.掌握队列这种抽象数据类型的特点, 掌握栈与队列在实际问题中的应用和基本编程技巧,并能在相应的问题中选用它;2.熟练掌握循环队列和链队列的基本操作实现算法,特别是队满和队空的描述方法; 3.掌握栈与队列的数据类型描述及特点; 4.掌握栈的顺序和链式存储存表示与基本算法的实现; 5.掌握队列的链式存储表示与基本操作算法实现;6.按照实验题目要求,独立完成实际程序的编写编写、调试和运行,并通过用例数据的运行过程抓获相关屏面验证程序设计的正确性; 7.认真书写实验报告,并按时提交。 三﹑实验内容: 对顺序循环队列,常规的设计方法是使用対尾指针和对头指针,对尾指针用于指示当前的対尾位置下标,对头指针用于指示当前的対头位置下标。现要求: (1)掌握栈和队列的特点,即后进先出和先进先出的原则。(2)设计一个使用对头指针和计数器的顺序循环队列抽象数据类型,其中操作包括:初始化,入队列,出队列,取对头元素和判断队列是否为空; (3)编写主函数进行测试。 四﹑实验步骤与程序 #include #define OK 1 #define ERROR 0 #define OVERFLOW 0 typedef struct QNode { int data;struct QNode *next;}QNode,*QueuePtr;typedef struct { QueuePtr front;QueuePtr rear;}LinkQueue;int InitQueue(LinkQueue &Q){ } Q.rear=Q.front=(QueuePtr)malloc(sizeof(QNode));if(!Q.rear)exit(OVERFLOW);Q.front->next=NULL;return OK;void QueueEmpty(LinkQueue Q){ } void EnQueue(LinkQueue &Q,int e){ } int EnnQueue(LinkQueue &Q,int e){ QueuePtr p;p=(QueuePtr)malloc(sizeof(QNode));QueuePtr p;p=(QueuePtr)malloc(sizeof(QNode));if(!p)printf(“error”);if(Q.front==Q.rear)printf(“该链队为空:”);else printf(“该链队不为空:”);p->data=e;Q.rear->next=p;Q.rear=p;printf(“元素%d入队成功”,e); } if(!p)return ERROR;p->data=e;Q.rear->next=p;Q.rear=p; return OK;void DeQueue(LinkQueue &Q){ } void GetHead(LinkQueue &Q){ QueuePtr p;QueuePtr p;if(Q.front==Q.rear)printf(“该链队为空”);p=Q.front->next;Q.front->next=p->next;if(Q.rear==p)Q.rear=Q.front;free(p);printf(“队首元素删除成功”); } if(Q.front==Q.rear)printf(“该链队为空”);p=Q.front->next;printf(“队首元素为:%d”,p->data);void OutQueue(LinkQueue &Q){ } void LengthQueue(LinkQueue &Q){ int f=0;QueuePtr p;if(Q.front==Q.rear)QueuePtr p;if(Q.front==Q.rear)printf(“该链队为空”);p=Q.front->next;while(p!=Q.rear->next){ } printf(“%d%,”,p->data);p=p->next; } printf(“该队列的长度为:%d”,f);else { } p=Q.front->next;while(p!=Q.rear->next){ } printf(“该队列的长度为:%d”,f);p=p->next;f++;void main(){ system(“cls”);int flag=1,i;LinkQueue Q;InitQueue(Q);printf(“************************链队列功能菜单***********************n”);printf(“1:初始化链队列,2:判断链队列是否为空, 3:进入队列,4:取出队首元素n”);printf(“5:输出该队列的所有元素,6:输出该队列的长度,7:结束程序,8:清屏n”); while(flag){ printf(“n请输入操作符:”);scanf(“%d”,&i);switch(i){ case 1: int e,n,k;printf(“请输入队列的长度:”);scanf(“%d”,&n);printf(“请输入队列的元素:”);for(e=1;e<=n;e++){ } printf(“初始化链队成功”);break;scanf(“%d”,&k);EnnQueue(Q,k);case 2: QueueEmpty(Q); break;case 3: int j;printf(“请输入要进入队列的元素”);scanf(“%d”,&j);EnQueue(Q,j);break;case 4: GetHead(Q);break;case 5: printf(“该队列的元素为:”);OutQueue(Q);break; case 6: LengthQueue(Q);break;case 7: flag=0;break;case 8: system(“cls”);} break; } } 五﹑实验结果 六﹑实验心得体会: 程序主要构造了主函数main()和 InitQueue(),QueueEmpty()EnQueue(),OutQueue()等调用函数,实现了队列的创立,队列是否为空的判断,入队和出队等功能。 通过此次实验,加深了对队列的存储结构的了解,同时也对程序设计能力有了提高,加深了对队列先进先出性质的理解,它允许在表的一端进行插入,在另一端删除元素,这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。我们往往写不出程序,这其中的原因我觉得是对程序的结构不是很了解,对实验的内容也不熟练的结果,数据结构给我们许多程序的算法和模型,对我们写程序的思维有很大的锻炼,我们应珍惜每次上机实验的机会去实践课堂上所学的东西并从中发现问题,从而达到提升写程序的能力。 数据结构上机实验报告一﹑实验名称: 实验三—二叉树的遍历 二﹑实验目的: 1、熟悉二叉树的结构特性,了解相应的证明方法; 2、掌握二叉树的生成,掌握二叉树的定义和存储表示,学会建立一棵特定二叉树的方法; 3、理解二叉树的三种遍历方法:先序遍历、中序遍历和后序遍历; 4、学会编写实现树的各种操作的算法。 二、实验内容: 1、使用类定义实现二叉树,补充完整所缺的函数,并实现创建和遍历二叉树的基本操作; 2、编程实现在二叉链表这种存储方式下,实现二叉的遍历,可采用递归或者非递归实现,遍历算法为在先序、中序和后序遍历算法。 三、实验步骤与程序: #include void PreOrder(BiTree T)//先序 { if(T!=NULL){ printf(“%c”,T->data);PreOrder(T->lchild);PreOrder(T->rchild);} } void InOrder(BiTree T)//中序 { if(T!=NULL){ InOrder(T->lchild);printf(“%c”,T->data);InOrder(T->rchild);} } void PostOrder(BiTree T)//后序 { if(T!=NULL){ PostOrder(T->lchild);PostOrder(T->rchild);printf(“%c”,T->data);} } void main()//主函数 { printf(“------------二叉树的遍历-------------n”);printf(“请输入要遍历的数:”);BiTree Ta;Ta=CreateBiTree();printf(“先序遍历:”);printf(“n”);PreOrder(Ta);printf(“n”);printf(“中序遍历:”);printf(“n”);InOrder(Ta);printf(“n”);printf(“后序遍历:”);printf(“n”);PostOrder(Ta);} 五﹑实验结果 六﹑实验心得体会: 实验的程序设计规划(实现的功能、分几个模块、子函数)(1)先序遍历递归算法函数:void PreOrder(BiTree T)(2)中序遍历递归算法函数:void InOrder(BiTree T)(3)后续遍历递归算法函数:void PostOrder(BiTree T)(4)主函数的实现:void main() 在实验前我认真阅读关于二叉树的实现的内容,为编程实现第一步,本次实验通过按上述的实验步骤一步步实现的,实验过程中出现了一些错误,经过一步步的调试,修改错误,得到了二叉树的遍历用递归运算的方法的程序。通过这个实验,我体会到了理解数据结构的重要性,这有真正理解了定义数据类型的好处,才能用好这样一种数据结构。二叉树的先序,中序与后序的输出都用了递归的算法,而且用起来不是很复杂,这使我更进一步理解了函数递归调用并得到灵活运用;在实现算法上,从算法的效率看,递归方法书写形式较为简洁,更为直观,一般具有较好的空间效率。 总之,不管做什么实验,我们在做实验前都要先预习,对所做的实验有较深的理解,在做实验的时候需要很严谨,仔细的查找错误,从而能在实验中收获知识,提升自己。 数据结构上机实验报告4 一﹑实验名称: 实验四—查找 二﹑实验目的: 1、熟悉掌握顺序表的查找方法; 2、熟练掌握二叉排序树的构造方法和查找算法 3、掌握描述查找过程的判定树的构造方法,以及按照定义计算各种查找方法在等概率情况下查找成功时的平均查找长度; 4、学会定义线性表的储存类型,实现C++程序的基本结构对线性表的一些基本操作和具体的函数定义; 5、掌握顺序表的基本操作,实现顺序表的查找的等基本运算; 6、掌握对于多函数程序的输入,编辑,调试和运算过程。 二、实验内容: 1、实现顺序表的查找算法 2、关于衡量查找的主要操作—查找的查找平均效率的平均长度的讨论。 三、实验步骤与程序: #include element list[MAX_SIZE]; int seqsearch(element list[],int searchnum,int num);int main(){ int i,num,searchnum,k; printf(“---------------数据结构查找实验-------------n”);printf(“请输入数据元素的个数:”);scanf(“%d”,&num);printf(“请输入数据的元素:n”);for(i=0;i printf(“请输入要查询的数据元素:”);scanf(“%d”,&searchnum);k=seqsearch(list,searchnum,num);if(k!=-1){ printf(“所查询元素的下标为:”);printf(“%dn”,k);} else printf(“查询元素不存在。n”);} return 0;} int seqsearch(element list[],int searchnum,int num){ int j; list[num].key=searchnum; for(j=0;list[j].key!=searchnum;j++);return j 六﹑实验心得体会: 实验的程序设计规划为先写一个主函数int main(),再写一个查找的子函数int seqsearch(element list[],int searchnum,int num),主函数通过调用子函数的方法实现程序的设计。 所谓“查找”即为在一个众多的数据元素(或记录)的查找表中找出某个“特定的”数据元素(或记录),通过本次实验,我更进一步的了解数据结构程序实验设计实现算法的基本模型,和算法实现等基本内容,学会了顺序表的查找方法。 数据结构上机实验报告5 一﹑实验名称: 实验五—内部排序 二﹑实验目的: 1、通过实现下述实验内容,学习、实现、对比各种排序算法,掌握各种排序算法的优劣,以及各种算法使用的情况,并加以灵活应用。 2、掌握各种排序时间复杂度的分析方法。 二、实验内容: 1、插入排序:依次将待排序的序列中的每一个记录插入到先前排序好的序列中,直到全部记录排序完毕。 2、快速排序:首先选择一个基准,将记录分割为两部分,左支小于或等于基准,右支则大于基准,然后对两部分重复上述过程,直至整个序列排序完成。 3、讨论各种内部排序方法的基本思路,算法特点,排序过程及它们的时间复杂度的分析。 三、实验步骤与程序: #include } int x;void charu();void kuaisu();printf(“----------内部排序---------n”);printf(“ 1、插入排序:n”);printf(“ 2、选择排序:n”);printf(“请根据序号选择:”);scanf(“%d”,&x);if(x==1)charu();else kuaisu();void charu(){ int a[7],j,i,m; printf(“插入排序n”); printf(“请输入个您想排序的数据:n”); for(i=0;i<7;i++)scanf(“%d”,&a[i]); for(j=1;j<7;j++) { m=a[j]; for(i=j-1;i>=0;i--) { if(a[i] break; else a[i+1]=a[i]; } a[i+1]=m; } printf(“排序成功:”); for(i=0;i<7;i++) printf(“ %d”,a[i]); printf(“n”);} quick(int first,int end,int L[]){ int left=first,right=end,key; key=L[first]; while(left { while((left right--; if(left L[left++]=L[right]; while((left left++; if(left L[left]=key; return left; } quick_sort(int L[],int first,int end) { int split; if(end>first) { split=quick(first,end,L); quick_sort(L,first,split-1); quick_sort(L,split+1,end); } } void kuaisu(){ int a[7],i; printf(“快速排序n”); printf(“请输入个您想排序的数据:n”); for(i=0;i<7;i++) scanf(“%d”,&a[i]); quick_sort(a,0,9); printf(“排序成功:”); for(i=0;i<7;i++) printf(“ %d”,a[i]); printf(“n”);} 五﹑实验结果: 六﹑实验心得体会: 《数据库原理应用及应用》实验报告 题目: 实验五:1、表的更新 2、视图的创建、查询及更新 日期 2014-04-08 班级 学号 2 姓名 成绩 实验环境:在已安装的安全的 0 SQL Server 2000 上 实验内容与完成情况: 一、 表的更新 1.插入 Insert into Values 或 Insert into Select 2.修改 Update Set Where 3.删除 DELETE WHERE 二、视图的创建 create view s(sno,sname,cno,cname,grade)as select student.sno,sname ,sc.cno,cname,grade from student,sc,course where student.sno=sc.sno and sc.cno=course.cno 查询 select * from s 视图删除 Drop view s 视图的更新 Update s Set Grade=grade+3 P.115: 一、插入元组 例 1 结果: 例 2 结果: 例 3 结果: 例 4 二、修改数据 例 5 结果: 例 6 结果: 例 7 结果: 三、删除数据 例 8 结果: 例 9 结果: 例 10 结果: 建立视图 例 1 例 2 例 3 例 4 例 5 例 6 例 7 例 8 例 9 例 10 例 11 更新视图 例 12 结果: 例 13 结果: 例 14 结果: 出现的问题及解决方法: 姓名:莫鸿斌 学号:201601030137 班级:2016级计算机科学与技术 实验日期: 2018-3-23 一、实验项目 T-SQL创建修改数据库和表 二、实验目的 1.掌握SQL Server Management Studio的运用; 2.掌握T-SQL语句的执行操作; 3.如何使用T-SQL创建修改数据库和表。 三、实验内容 1.使用T-SQL创建数据库factory,要求将数据库文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自动按5MB增长,将事务日志文件factory_log.LDF存放在E:data目录下,其文件大小按1MB自动增长。 2.使用T-SQL在数据库factory下创建如下表: 职工表(职工号(int),姓名(char(10)),性别(char(2)),出生日期(datetime),党员否(bit),参加工作时间(datetime),部门号(int)),其中职工号作为主键。部门表(部门号(int),部门名(char(10)),其中部门号作为主键。工资表(职工号(int),发放年份(int),发放月份(int),工资(decimal(6,1))),其中职工号、年份、月份作为主键。 3.使用T-SQL建立创建的表之间的参照完整性规则。4.在上述表中输入数据,每个表至少10条记录。 四、实验环境 安装有SQL Server2008的PC一台。 五、实验步骤及结果 1.使用T-SQL创建数据库factory 2.将数据库文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自动按5MB增长,将事务日志文件factory_log.LDF存放在E:data目录下,其文件大小按1MB自动增长。 4.使用T-SQL在数据库factory下创建 职工表(职工号(int),姓名(char(10)),性别(char(2)),出生日期(datetime),党员否(bit),参加工作时间(datetime),部门号(int)),其中职工号作为主键。部门表(部门号(int),部门名(char(10)),其中部门号作为主键。工资表(职工号(int),发放年份(int),发放月份(int),工资(decimal(6,1))),其中职工号、年份、月份作为主键。 5.使用T-SQL建立创建的表之间的参照完整性规则 5.在上述表中输入数据,每个表至少10条记录 实验序号与实验名称:实验九:用户管理和权限管理 姓名:薛亚妮学号:201000901045 专业班级:信计101实验日期:2012年 12月15日 一、实验目的:理解和体会数据库安全性的内容,加强对DBMS功能的认识。 二、实验内容:数据库的用户管理和操作权限管理。 三、程序源代码: 1、对象操作授权 sp_grantdbaccess 201000901035 grant select on 产品1045 to 201000901035 grant create view,create table to 201000901035 grant execute on sp_getgoods to 2010009010352、在授权过程中体会GRANT命令中WITH GRANT OPTION 短语的作用。 --用户201000901045-- grant select on产品1045 to [201000901035] WITH GRANT OPTION --用户201000901035-- grant select on 产品1045 to [201000901035] As [201000901035] 3、分情况收回授权,并体会REVOKE命令中GRANT OPTION FOR和CASCADE --短语的作用 revoke select on 产品1045 from 201000901035 revoke create view,create table to 201000901035 revoke grant option for select on 产品1045 from 201000901035 CASCADE 四、实验结果分析与总结 安全性控制是数据库管理员(或系统管理员)的一个重要任务,他要充分利用数据库管理系统的安全功能,保证数据库和数据库中数据的安全。 授权登录用户为当前数据库用户 : sp_grantdbaccess [@loginame =] login [,[@name_in_db =] name_in_db] 使一个登录用户成为数据库用户只是授权的第一步,数据库管理员可以进一步为能够连接到自己所管理数据库的用户在该数据库上授予所需要的权限.收回权限:收回语句授权 :REVOKE { ALL | statement_list } FROM name_list 收回对象授权 : REVOKE [GRANT OPTION FOR] { ALL [ PRIVILEGES ] | permission_list } {[(column_list)] ON { table | view } | ON { table | view } [(column_list)] | ON stored_procedure| ON user_defined_function } FROM name_list [ CASCADE ] [ AS { group | role } ] 禁止语句权限: DENY { ALL | statement_list } TO name_list 禁止对象权限: DENY { ALL [ PRIVILEGES ] | permission_list } {[(column_list)] ON { table | view } | ON { table | view } [(column_list)] | ON stored_procedure| ON user_defined_function } TO name_list 数据通路实验 一、实验目的 1、理解总线的概念、作用和特性。 2、掌握用总线控制数据传送的方法。 3、进一步熟悉教学计算机的数据通路。 4、掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法。 5、锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 二、实验设备 1、TWL-PCC计算机组成原理教学实验系统一台,排线若干。 2、PC微机一台(选配)。 三、实验原理 总线用来连接计算机中的各个功能部件,是计算机的各部件之间传输信息的公共通路,包括传输数据信息的逻辑电路、管理信息传输 协议的逻辑线路和物理连线。分时和共享是总线的两大特征。所谓共享,是指在总线上可以挂接多个部件,它们都可以使用这一信息通路来和其他部件传输信息。所谓分时,是指同一总线在同一时刻,只能有一个部件占领总线发送信息,其他部件的信息不能发送到总线上,逻辑上等同于不存在,只有该部件信息发送完毕释放总线后才能申请使用。但在同一时刻可以有多个部件接收信息。 本实验的数据通路图如图6.1所示。本实验将输入设备,输出设备,存储器,通用寄存器等单元都挂至总线上,这些设备都需要有三态输出控制,各个部件都有自己的输入输出控制信号,通过对这些信号的有序控制,就可以正确地通过总线把数据传送给不同的部件。各个部件的控制信号都需要是连接到“开关组单元”的各个独立的二进制开关上来手动控制。连接到总线上的地址寄存器只有输入线,其输出直接连接到存储器的地址用于锁存需读写的存储器的地址。 本实验中时序信号用到T3和T4信号,可将“信号源单元”的时钟输出SY接到“时序发生器单元”的Φ上,将OT3和OT4分别连接到 “总线单元”中相应的T3和T4端上,二进制开关拨至“单步”状态,然后每按动一次启动键START,就会顺序产生一个T3、T4时序信号。 根据挂接在总线上的部件,设计一个简单的实验:将存储器10H地址存入数据93H,然后将存储器10H地址单元中存储的数据送输出单元显示,同时也存入到R0寄存器中。 .D7D0CSOEWECSOEWEA10-----------A0锁存译码(GAL)a b c d e f gORB_LEDWR数据开关输入设备单元输出设备单元.图6.1 总线实验数据通路图 四、实验步骤 1.本实验中各个单元的控制信号分别由不同的开关独立控制,连线参考图见图6.2所示。 2、按照以下几步操作: ① 数据输入开关置10H打入地址寄存器。② 数据输入开关置数据93H打入存储器。③ 存储器输出数据到输出设备同时打入到R0寄存器。 3、连接实验线路。参考实验连线图如图6.2所示。仔细检查无误后,接通电源。 4、置所有控制信号为初始态:输入设备(B_SW=1,RD=1)、地址寄存器(C_AR=0)、存储器(CS= 1、RD= 1、WE=1)、输出设备(B_LED= 1、WR=1)、通用寄存器R0(B_R0= 1、C_R0=0)。 5、“时序发生器单元”中的二进制开关拨至“单步”状态。 ① 数据开关置数10H,打开输入设备输出三 态门(B_SW= 1、RD=0),打开地址寄存器打入门控信号(C_AR=1),按动时序启动键START,产生的T3节拍脉冲将总线上的数据打入到地址寄存器中。关掉地址寄存器打入门控信号(C_AR=0)。 ② 数据开关置数93H,存储器片选有效写有 效(CS=0、RD= 1、WE=1→0→1),此时将总线上的数据93H写入到存储器当前地址单元中。关掉输入设备三态门(B_SW=1)关掉存储器片选线(CS=1)。③ 存储器片选有效读有效(CS=0、WE= 1、RD=1),输出设备片选有效写有效(B_LED=0、WR=1→0→1),此时存储器中的数打入到输出设备的数码管中显示,同时,打开通用寄存器RO的打入门控信号(C_R0=1),按动时序启动键START,产生的T4节拍脉冲将总线上的数据打入到通用寄存器R0中。然后关存储器(CS=1),关通用寄存器打入门控信号(C_R0=0)。 五、实验要求 1、在数据传送过程中,发现了什么故障?记录故障现象,排除故障的分析思路,故障定位及故障的性质。 2、以第二种实验接线方法实现本实验要求,即存储器、I/O设备(包括输入设备和输出设备)有各自的片选线,但是共用一根读线和一根写线的方式连接实验线路,分析有什么区别,编写执行流程,写出详细的实验步骤,记录实验数据。 (六)实验名称:数据库及SQL语言 班级_______ 姓名__________ 学号______实验日期: 实验机时:3 学时实验成绩: ----------------- 一.实验目的: 1、学习数据库设计的一般过程及相关技术; 2、学习access数据库管理系统; 3、掌握数据库的输入、查询、更新操作。 二.实验内容: 1、需求陈述:某校图书馆要建立一个图书数据管理系统。该图书馆的图书(书名、分类号、作者、出版社)存放在不同的借阅室(室名),读者(姓名、系名、类别)在书架上找到所需图书后,可以到服务台办理借阅(借阅时间)。 设计要求: 分析需求,建立数据库的概念模型; 将概念模型转换为关系模型(注意:是否需要作规范化处理); 写出创建基本表的SQL语句; 写出以下查询要求的SQL语句: (1)所有“高等数学习题集”书的信息; (2)读者“李林”借了什么书? (3)“社会学原理”在哪个借阅室? 2、在access数据库管理系统中建立所设计的关系表; 3、向各表中输入一组实验数据(元组)(注意:关系完整性); 4、对数据库进行查询。 三.实验结果: 1、实体-关系图; 2、数据库表; 3、创建基本表的语句;实验报告五数据库 篇5
电位差计实验报告数据 篇6
数据库原理上机实验报告 篇7
传媒--数据通路实验报告1号 篇8
电位差计实验报告数据 篇9