数据库实验报告册(通用9篇)
学 生 实 验 报 告 册
课程名称:
学生学号:
所属院部:
(理工类)
算法与数据结构 专业班级: 14计单(2)
1413201007 学生姓名: 毛卓
计算机工程学院 指导教师: 章海鸥 16 ——20 17 学年 第 二 学期
金陵科技学院教务处制
金陵科技学院实验报告
实验报告书写要求
实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。
实验报告书写说明
实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
金陵科技学院实验报告
实验项目名称: 顺序表 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:
金陵科技学院实验报告
实验1 顺序表
一、实验目的和要求
掌握顺序表的定位、插入、删除等操作。
二、实验仪器和设备
VC6.0
三、实验内容与过程(含程序清单及流程图)
1、必做题
(1)编写程序建立一个顺序表,并逐个输出顺序表中所有数据元素的值。编写主函数测试结果。
(2)编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号从0开始编号);如果不存在,返回-1。编写主函数测试结果。(3)在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。
解题思路:首先查找插入的位置,再移位,最后进行插入操作;从第一个元素开始找到第一个大于该新结点值x的元素位置i即为插入位置;然后将从表尾开始依次将元素后移一个位置直至元素i;最后将新结点x插入到i位置。
(4)删除顺序表中所有等于X的数据元素。
2、选做题
(5)已知两个顺序表A和B按元素值递增有序排列,要求写一算法实现将A和B归并成一个按元素值递减有序排列的顺序表(允许表中含有值相同的元素)。
程序清单:
(1):/*编写程序建立一个顺序表,并逐个输出顺序表中所有数据元素的值。*/ #include
金陵科技学院实验报告
}sequenlist;void main(){ sequenlist L;int i,n;printf(“请输入元素个数:”);scanf(“%d”,&n);printf(“n请输入元素:”);for(i=0;i 如果不存在,返回-1。*/ #include int fun(sequenlist L,int x,int n){ 金陵科技学院实验报告 } int i;for(i=0;i } int i,n,y;int x; printf(“请输入元素个数:”);scanf(“%d”,&n);printf(“n请输入元素:”);for(i=0;i printf(“n请输入要查找的数据元素:”);scanf(“%d”,&x);y=fun(L,x,n);if(y==-1)else printf(“n数据元素 %d 所在的位置为 %d n”,x,y);printf(“n所要查找的数据元素不存在。n”);(3): /*在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。 解题思路:首先查找插入的位置,再移位,最后进行插入操作; 从第一个元素开始找到第一个大于该新结点值x的元素位置i即为插入位置; 金陵科技学院实验报告 然后将从表尾开始依次将元素后移一个位置直至元素i;最后将新结点x插入到i位置。*/ #define maxsize 100 typedef struct{ int data[maxsize]; int last;}sequenlist;main(){ int i,x,j; sequenlist l={{1,3,5,6,7,9},5}; printf(“n插入元素前的数据为:”); for(i=0;i<=l.last;i++) printf(“%2d”,l.data[i]); printf(“n请输入要插入的元素:”); scanf(“%d”,&x); for(i=1;i<=l.last;i++) if(l.data[i-1]>x)break; if(i>l.last) { l.data [l.last +1]=x; } else { for(j=l.last;j>=i-1;j--)l.data[j+1]=l.data[j];l.data[i-1]=x; } l.last++; printf(“插入元素后的数据为:n”); 金陵科技学院实验报告 for(j=0;j<=l.last;j++) printf(“%3d”,l.data[j]); printf(“n”);}(4): /*删除顺序表中所有等于X的数据元素。*/ #define maxsize 100 typedef struct{ int data[maxsize]; int last;}sequenlist;main(){ int i,j,x=0,k=0; sequenlist L={{1,3,5,7,2,4,6,8,2,9},9}; printf(“n原数据为:”); for(i=0;i<=L.last;i++)printf(“%3d”,L.data[i]); printf(“n请输入要删除的数据:”); scanf(“%d”,&x); for(i=1;i<=L.last+1;i++) if(L.data[i-1]==x){ for(j=i;j<=L.last+1;j++)L.data[j-1]=L.data[j]; L.last--; i--; k=1; } if(k==1){ printf(“删除后的数据为:n”); for(j=0;j<=L.last;j++)printf(“%3d”,L.data[j]); } else printf(“Not found!n”); 金陵科技学院实验报告 printf(“n”);} 四、实验结果与分析(程序运行结果及其分析)(1)结果: 请输入元素个数:5 请输入元素:1 2 3 4 5 元素输出:1 2 3 4 5(2)结果: 请输入元素个数:5 请输入元素:1 2 3 4 5 请输入要查找的数据元素:5 数据元素5所在的位置为 4(3)结果:插入数据前的元素为:1 3 5 6 7 9 请输入要插入的元素为:10 插入元素后的数据为: 5 6 7 9 10(4)结果:原数据为:1 3 5 7 2 4 6 8 2 9 请输入要删除的数据为:7 删除后的数据为: 3 5 2 4 6 8 2 9 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 单链表 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验2 单链表 一、实验目的和要求 1、实验目的 掌握单链表的定位、插入、删除等操作。 2、实验要求 (1)注意链表的空间是动态分配的,某结点不用之后要及时进行物理删除,以便释放其内存空间。 (2)链表不能实现直接定位,一定注意指针的保存,防止丢失。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)编写程序建立一个单链表,并逐个输出单链表中所有数据元素。(2)在递增有序的单链表中插入一个新结点x,保持单链表的有序性。 解题思路:首先查找插入的位置然后进行插入操作;从第一个结点开始找到第一个大于该新结点值的结点即为插入位置;然后在找到的此结点之前插入新结点;注意保留插入位置之前结点的指针才能完成插入操作。 (3)编写实现带头结点单链表就地逆置的子函数,并编写主函数测试结果。 2、选做题 已知指针LA和LB分别指向两个无头结点单链表的首元结点。要求编一算法实现,从表LA中删除自第i个元素起共len个元素后,将它们插入到表LB中第j个元素之前。程序清单: 金陵科技学院实验报告 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 堆栈和队列 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验3 堆栈和队列 一、实验目的和要求 (1)掌握应用栈解决问题的方法。(2)掌握利用栈进行表达式求和的算法。 (3)掌握队列的存储结构及基本操作实现,并能在相应的应用问题中正确选用它们。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)判断一个算术表达式中开括号和闭括号是否配对。(2)测试“汉诺塔”问题。 (3)假设称正读和反读都相同的字符序列为”回文”,试写一个算法判别读入的一个以’@’为结束符的字符序列是否是“回文”。 2、选做题 在顺序存储结构上实现输出受限的双端循环队列的入列和出列算法。设每个元素表示一个待处理的作业,元素值表示作业的预计时间。入队列采取简化的短作业优先原则,若一个新提交的作业的预计执行时间小于队头和队尾作业的平均时间,则插入在队头,否则插入在队尾。程序清单: 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 金陵科技学院实验报告 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 串 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验4 串 一、实验目的和要求 掌握串的存储及应用。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)编写输出字符串s中值等于字符ch的第一个字符的函数,并用主函数测试结果。 (2)编写输出字符串s中值等于字符ch的所有字符的函数,并用主函数测试结果。 解题思路:可以将第一题程序改进成一个子函数,在本题中循环调用。(3)设字符串采用单字符的链式存储结构,编程删除串s从位置i开始长度为k的子串。 2、选做题 假设以链结构表示串,编写算法实现将串S插入到串T中某个字符之后,若串T中不存在这个字符,则将串S联接在串T的末尾。 提示:为提高程序的通用性,插入位置字符应设计为从键盘输入。程序清单: 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 金陵科技学院实验报告 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 二叉树 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验5 二叉树 一、实验目的和要求 (1)掌握二叉树的生成,以及前、中、后序遍历算法。(2)掌握应用二叉树递归遍历思想解决问题的方法。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)建立一棵二叉树。对此树进行前序遍历、中序遍历及后序遍历,输出遍历序列。 (2)在第一题基础上,求二叉树中叶结点的个数。(3)在第一题基础上,求二叉树中结点总数。(4)在第一题基础上,求二叉树的深度。 2、选做题 已知一棵完全二叉树存于顺序表sa中,sa.elem[1…sa.last]存储结点的值。试编写算法由此顺序存储结构建立该二叉树的二叉链表。 解题思路:根据完全二叉树顺序存储的性质来确定二叉树的父子关系即“还原”了二叉树,之后再按照二叉树二叉链表的构造方法进行建立。完全二叉树顺序存储的一个重要性质为,第i个结点的左孩子是编号为2i的结点,第i个结点的右孩子是编号为2i+1的结点。程序清单: 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 金陵科技学院实验报告 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 图 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验6 图 一、实验目的和要求 (1)熟练掌握图的基本概念、构造及其存储结构。 (2)熟练掌握对图的深度优先搜索遍历和广度优先搜索遍历的算法。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)构造一个无向图(用邻接矩阵表示存储结构)。 (2)对上面所构造的无向图,进行深度优先遍历和广度优先遍历,输出遍历序列。 2、选做题 采用邻接表存储结构,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为k的简单路径的算法。简单路径是指其顶点序列中不含有重复顶点的路径。提示:两个顶点及k值均作为参数给出。程序清单: 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 排序 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验7 排序 一、实验目的和要求 (1)熟练掌握希尔排序、堆排序、直接插入排序、起泡排序、快速排序、直接选择排序、归并排序和基数排序的基本概念。 (2)掌握以上各种排序的算法。区分以上不同排序的优、缺点。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 用随机数产生100000个待排序数据元素的关键字值。测试下列各排序函数的机器实际执行时间(至少测试两个):直接插入排序、希尔排序(增量为4,2,1)、冒泡排序、快速排序、直接选择排序、二路归并排序、堆排序和基于链式队列的基数排序。 2、选做题 假设含n个记录的序列中,其所有关键字为值介于v和w之间的整数,且其中很多关键字的值是相同的。则可按如下方法排序:另设数组number[v…w],令number[i]统计关键字为整数i的纪录个数,然后按number重排序列以达到有序。试编写算法实现上述排序方法,并讨论此种方法的优缺点。程序清单: 金陵科技学院实验报告 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 五、实验体会(遇到问题及解决办法,编程后的心得体会) 金陵科技学院实验报告 实验项目名称: 查找 实验学时: 2 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 金陵科技学院实验报告 实验8 查找 一、实验目的和要求 (1)掌握顺序表查找、有序表查找、索引顺序表查找的各种算法。(2)掌握哈希表设计。 二、实验仪器和设备 Visual C++6.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)在一个递增有序的线性表中利用二分查找法查找数据元素X。 2、选做题 (2)构造一个哈希表,哈希函数采用除留余数法,哈希冲突解决方法采用链地址法。设计一个测试程序进行测试。 提示:构造哈希表只是完成查找的第一步,大家应该掌握在哈希表上进行查找的过程,可以试着编程序实现。程序清单: 金陵科技学院实验报告 四、实验结果与分析(程序运行结果及其分析) 1 实验目的 通过使用短信控制器对进行短消息的接收与发送进行基本管理,并在计算机上利用编程语言实现对短信控制器的操作,从而实现客户端的短信的收发功能。 通过实验学生能够在需要短信收发的信息系统中使用相关设备实现短信的收发操作。 2 实验环境 整个系统的实验环境分为硬件环境和软件环境两部分。其中硬件环境包括计算机和短信控制器,软件环境为Windows操作系统和VS2005以上的开发环境。 2.1 硬件环境 实验需要计算机一台,最低配置如表1所示。计算机用于与短信控制器的连接。 另一个主要硬件就是短信控制器,短信控制器能够直接使用Sim卡,实现短信的收发功能,在本实验中,笔者选用了西门子的GSM RS232接口短信控制器。控制器主要参数如表2所示。 2.2 软件开发环境 系统开发环境针对Windows进行开发,需要WindowsXP以上环境,包括Windows Vista和Win7均可。 程序开发环境为以上开发环境,包括、和均可。 3 实验内容 实验主要分为两块内容,一是硬件设备的连接,二是软件程序的设计。 3.1 硬件设备连接 硬件连接图如图1所示。 硬件短信控制器通过串口与PC端进行连接,同时需要插入SIM卡才能短信收发,并且由于发射功率在不同的网络下需求的问题,所以需要外接电源进行独立供电。 硬件连接完成以后,即可进行软件的开发工作。 3.2 软件开发 软件开发需要调用开发包中的sms.dll文件,在开发之前需要将此文件配置到开发项目中的Debug和Release目录下即可。在进行开发时,对引用进行定义,定义如下。 定义完成即可进行短信的收发,在本实验中,使用C#代码进行编程,实现主要的功能函数的编程,相关代码如下。 在以上代码中,定义了大量的函数用于对短信控制器的操作:通过Connect函数进行短信控制器的连接,通过Disconnect函数进行关闭连接。使用Send函数进行数据发送,包括接收方号码和内容。使用Read函数进行读取,参数表示短信的索引,最后通过Delete函数删除指定ID的短消息。 4 实验结论 通过以上步骤实现了短信收发的基本过程,在需要短信收发的信息系统中能够有很好的应用,对学生短信控制折动手能力的提高有很大的好处。 摘要:在一些信息系统中,由于环境、数据需求和场地的限制,无法使用有线和无线网络,所以短信被经常用于这样的系统中。基于以上目的,笔者在教学的过程中,设计了一套基于短信的离散数据收发实验。 关键词:短信,离散数据,信息系统,实验 参考文献 [1]覃长杰.吴小华.孙学磊.基于嵌入式GSM短信收发的研究[J].机械与电子,2011(7). [2]苏维嘉.张其阳.基于TC35I的GSM无线数据采集系统的设计[J.]电子技术应用,2009(12). [3]黄凤良.实验报告自动生成系统设计[J].实验科学与技术,2011(9). 2016 年 3 月 3 日 物理实验室 实验 名称 探究重力的大小跟质量的关系 实验 目的 探究重力的大小跟质量的关系 实验 器材 弹簧测力计,铁架台,相同的钩码若干(质量已知)。 实验 原理 将被测物体挂在弹簧测力计下方,物体静止时,弹簧测力计的示数即为被测物体的重力。 实验 步骤(1)检查所用的测力计指针是否指零? 是;若不指零,调零;观察并记录你所用弹簧测力计的量程为 0-5N:,分度值为:0.2N。 (2)将弹簧测力计悬挂在铁架台上,将一只钩码挂在弹簧测力计下方,注意使力沿弹簧测力计的轴线方向,指针不与刻度盘摩擦,待静止时读数,将测得数据填入下表。 (3)继续将 2 只、3 只……钩码分别挂在弹簧测力计下端,读出每一次静止时弹簧测力计的示数,填入下表。 实验 现象 记录 实验次数 质量 m /kg 重力 G /N 重力与质量的比值 g /N·kg-10.05 0.5 10 2 0.1 1 10 3 0.15 1.5 10 4 0.2 2 10 5 0.25 2.5 10 一、题目要求 某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求: 银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由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) 姓名:疏颖 学号:22920152203909 完成日期:2018年4月6日 实验环境:SQLServer2008 实验2.1数据查询 实验要求: 以School数据库为例,在该数据库中存在四张表格,分别为: 表STUDENTS(sid, sname, email, grade); 表TEACHERS(tid, tname, email, salary); 表COURSES(cid, cname, hour); 表CHOICES(no, sid, tid, cid, score)在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。 按以下要求对数据库进行查询操作: 实验步骤: (1)查询年级为2001的所有学生的名称并按编号升序排列。 (2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积点(60分对应积点为1,每增加1分,积点增加0.1)。 (3)查询课时是48或64的课程的名称。 (4)查询所有课程名称中含有data的课程编号。 (5)查询所有选课记录的课程号(不重复显示)。 (6)统计所有教师的平均工资。 (7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序 排列。 (8)统计各个课程的选课人数和平均成绩。 (9)查询至少选修了三门课程的学生编号。 (10)查询编号800009026的学生所选的全部课程的课程名和成绩。 (11)查询所有选修了database的学生的编号。 (12)求出选择了同一个课程的学生数。 (13)求出至少被两名学生选修的课程编号。 (14)查询选修了编号80009026的学生所选的某个课程的学生编号。 (15)查询学生的基本信息及选修课程编号和成绩。 (16)查询学号850955252的学生的姓名和选修的课程名及成绩。 (17)查询与学号850955252的学生同年级的所有学生资料。 (18)查询所有有选课的学生的详细信息。 (19)查询没有学生选的课程的编号。 (20)查询课程名为C++的课时一样课程名称。 (21)找出选修课程成绩最好的选课记录。 (22)找出和课程UML或课程C++的课时一样课程名称。 (23)查询所有选修编号10001的课程的学生的姓名。 (24)查询选修了所有课程的学生姓名。 (25)利用集合运算,查询选修课程C++或选修课程Java的学生的编号。 (26)实现集合交运算,查询既选修课程C++又选修课程Java的学生的编号。 (27)实现集合减运算,查询选修课程C++而没有选修课程Java的学生的编号。 实验2.2空值和空集的处理 1.实验步骤: (1)查询所有选课记录的成绩并将它换算为五分制(满分5分,合格3分),注意SCORE取NULL值的情况。 (2)通过查询选修编号10028的课程的学生的人数,其中成绩合格的学生人数,不合格的学生人数,讨论NULL值的特殊含义。 取null值的数据在含有运算操作的选择语句中不被选择。 (3)通过实验检验在使用ORDER BY进行排序时,取NULL的项是否出现在结果中?如果有,在什么位置? 取null值的数据会出出现在结果中,按最小值进行排序 (4)在上面的查询过程中如果加上保留字DISTINCT会有什么效果? 所有的null值选项只会出现一行。 (5)通过实验说明使用分组GROUP BY对取值为NULL的项的处理。 (6)结合分组,使用集合函数求每个同学的平均分、总的选课侸、最高成绩、最低成绩和总成绩。 (7)查询成绩小于60的选课记录,统计总数、平均分、最大值和最小值。 (8)采用嵌套查询的方式,利用比较运算符和谓词ALL的结合来查询表COURSES中最少的课时。假设数据库中只有一个记录的时候,使用前面的方法会得到什么结果,为什么? (9)创建一个学生表S(NO,SID,SNAME),教师表T(NO,TID,TNAME)作为实验用的表。其中NO分别是这两个表的主键,其他键允许为空。向S插入元组(1,0129871001,王小明)、(2,0129871002,李兰)、(3,0129871005,NULL)、(4,0129871004,关红); 向T插入元组1,100189,王小明)(2,、100180,李小)(3,、100121,NULL)、(4,100128,NULL)。 对这两个表作对姓名的等值连接运算,找出既是老师又是学生的人员的学生编号和老师编号。 实验总结: “数据库原理”是计算机专业的核心课程,同时也是一门实践性很强的课程。当前数据库技术人才是IT行业非常紧缺的计算机人才,为培养实践应用能力强、基础过硬的数据库技术人才,数据库原理课程的实验教学尤为重要。数据库原理课程的实验教学目的是通过实验教学使学生深入理解和掌握课堂教学内容,灵活运用和检验所学的理论知识,训练学生对数据库技术的实践应用能力,使学生具备数据库系统设计能力,能够利用数据库的基本设计方法和技术,结合具体的数据库管理系统(DBMS),进行数据库系统的逻辑设计和物理设计;同时具备数据库应用系统开发能力,能够根据用户的应用需求,利用某一具体的数据库管理系统和编程环境进行数据库的设计和应用开发。同时实验教学有助于培养学生发现问题、分析问题和解决问题的能力。[1]因此实验教学效果的好坏,直接影响到整个课程的教学效果和质量。 数据库原理课程实验教学改革与实践 目前,绝大多数院校“数据库原理”课程的实验教学,一般由教师根据理论教材挑选一些操作习题或例题,作为学生的上机实验教学内容,或者选用与教材配套的实验指导书,指导学生按照上面的实验题进行操作。[2]这种教学方式存在明显的问题:1实验题目的设计很大程度受限于教材,实验内容很难及时得到更新。2学生上机实验目的性不强,任务不够明确,学生对实验的积极性差。3教师对学生实验操作的控制性不够。4由于师生比达不到要求,教师指导学生实验的劳动强度过大,导致实验效果不理想。 分析上述问题的原因主要在于实验教学模式仍是以教师为中心,学生被动地学习,实验内容不够新颖,学生缺乏对实验的积极性以及教师缺乏有效的监控与指导。针对这种情况,这几年,我们结合我校学生的特点,对课程的实验教学进行了以下几个方面的改革与实践。 1.面向市场更新实验内容 在教学改革中,我们围绕当前市场需求和学习主题重新编写了实验指导书,对现有的实验教学内容进行了筛选、整合,对不符合最新科学技术发展的实验项目进行删除或更新,减少了验证性、演示性实验,精心安排了设计性、开发性实验。“数据库原理”课程我们学院是在第三学期开设的,而2011年我们首次在软件工程专业的第六学期开设了“Oracle数据库系统”课程,为了更好地做到课程之间的衔接以及目前IT行业中对Oracle技术人才的急需,我们在实验内容中增加了大型数据库系统Oracle的学习内容,包括SQL*plus的常用命令使用,以及在Oracle环境下进行SQL语句的操作等。[3] 各实验之间不是孤立的,我们安排的实验过程和内容为:建立数据库→围绕该数据库进行SQL语句的练习→以该数据库为后台数据库的系统项目开发,各个实验间具有延续性和整体性,使学生可以一步步构建起自己的知识和能力体系,充分领会课程的精髓。这样的安排符合“数据库原理”课程实验教学的层次性和实用性,依循了由表及里、逐层深入的学习规律。 2.利用网络实验平台实现实验教学网络一体化 随着网络技术的成熟和Internet的普及,利用网络平台进行多媒体教学已成为一种发展趋势。在实际过程中我们充分利用网络平台开展实验教学,实现了实验过程一体化。利用该平台我们能有效监控和指导学生。该网络实验平台主要包括三部分:学生登录部分、教师登录部分和系统管理员登录部分。下页图给出了学生登录部分、教师登录部分的主要功能。[4]系统管理员部分除了具有教师部分的功能外,还包括学生人员管理、报告管理、密码管理等的系统功能。实验教学的网络一体化主要表现在以下几方面。 课前准备:课前教师将相关信息和上机前的准备工作包括复习和掌握与本次实验有关的教学内容,通过网络平台的公告栏发布给学生。学生对实验问题进行认真分析,完成相关操作,给出初步解决方案。 实验过程:实验过程中学生根据课前完成的初步实现方案,在网络实验平台的“上机实验”功能中进行操作,实验平台还会给出是否通过的提示以及当前班级学生的该实验操作成绩排名。 实验总结:实验完成后,学生从网上实验平台的“报告递交”功能递交实验报告和实验总结。 实验考核:教师在确定各实验环节的成绩后,确定各实验环节的成绩比例设置,由实验平台的成绩统计功能自动完成每位学生最终的实验成绩。 课后交流:网络实验平台提供了留言板功能,学生在实验中有什么问题可以通过该平台进行提问,教师会及时给予答复。 另外,平台的自动考勤功能大大提高了课堂的教学效率,考勤情况会自动与考核环节进行关联,大大减轻了教师的工作压力,成绩排名功能则极大地提高了学生学习的积极性。 3.开展多种教学方法 在几年的课程建设中,我们进行了多种教学方法的实践与尝试,从中获得了很多经验和想法。这些方法大大激发了学生主动学习的热情,培养了他们独立分析问题、解决问题的能力,拓展了他们的知识面,提高了他们的创新意识和能力。我们开展的教学方法主要有以下几种。 案例分析:利用对真实世界的实例分析,使学生理解和掌握理论知识内容[5],它代替对教学内容理论的过分依赖,是数据库原理教学联系实际的特色形式。实际过程中我们以学生熟悉的学校教学管理系统为教学案例来设计所用的数据库:需求分析→概念设计→逻辑设计→物理数据库的建立→基于C++的系统开发。先由学生独立分析,再以实验方式完成,最后到课堂上进行重点分析,引导学生由浅入深、循序渐进地寻找正确的分析思路和找到解决问题的最佳方法。 小组讨论:就是利用学习小组形式进行学习和讨论的方法。实际执行中我们首先为每个小组确定一名组长,负责协调小组成员的工作,向任课教师反映课题讨论的进展以及最后根据各成员在课题讨论中的表现进行评分。小组一般包含5~6名学生,教师布置研究课题,给予必要的说明,提供必要的资料和网络资源;接着由小组研究问题,通过各种渠道搜集与之有关的信息资源,运用自我反馈的方式消化问题;然后通过小组内部的充分协作对话、探索讨论、实际操作,应用已有的知识对现学知识进行理解和消化,在自主学习与协作对话中解决自学过程中遇到的问题,培养学生解决问题的能力;最后在计算机上就解决方案进行验证和探索并提交讨论报告。 任务驱动:要求在教学过程中以完成一个个具体的任务为线索,把教学内容巧妙地隐含在每个任务之中,以探索问题来引动和维持学习者学习兴趣和动机[6],经过思考和教师的点拨,让学生自己解决问题,体现“教师为主导,学生为主体”的教学思想和策略。 结束语 在实验教学改革中,我们主要采取了实验环境的提高、实验内容的加深,充分利用现代网络技术以及开展多种教学方法等一系列改革措施,通过几届学生的实践证明,上述改革措施已初见成效。 实验教学是“数据库原理”课程教学中重要组成部分,不仅要求教师能够不断用新知识、新理论充实自己,努力提高自身的专业素质,而且要求教师要勇于探索,对教学方法、模式大胆改革,充分挖掘学生学习的潜能,提升教学艺术,强化素质教育。我们通过对课程实验教学的摸索和尝试,明显提高了学生学习的积极性和主动性,增强了学生对实验课的兴趣,并有效提高了学生的科学思维能力、创新能力、分析解决实际问题的应用能力。当然,改革是一个不断完善的渐进过程,我们仍需不断地探索,不断地总结教学经验,使实验教学趋于完善。 摘要:实验教学是数据库原理课程教学中非常重要的环节。在该教学环节的建设中,我们在教学内容、教学方法和教学手段几方面进行了改革和探索,实践证明这些教学改革和措施,激发了学生学习的兴趣,培养了学生实际解决问题的能力,收到了良好的效果。 二、实验环境 WINDOWS XP 和 SQLServer200 5三、实验内容: 参照完整性定义 参照完整性检查和违约处理 属性上的约束条件的定义(1.不允许去控空值 2.劣质唯一 3.用CHECK短语指定列值应该满足的条件) 属性上的约束条件检查和违约处理 元祖上的约束条件的定义 完整性约束命名子句 修改表中的完整性限制 定义触发器 激活触发器 四、程序源码与运行结果 一、定义SC中的参照完整性。 CREATE TABLE SC (Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno)); 二、显式说明参照完整性的违约处理示例。 CREATE TABLE SC (Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno) ON DELETE CASCADE ON UPDATE CASCADE FOREIGN KEY(Cno)REFERENCES Course(Cno) ON DELETE NO ACTION ON UPDATE CASCADE); 三、在定义SC表时,说明Sno,Cno,Grade属性不允许取空值。 CREATE TABLE SC (Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT NOT NULL,PRIMARY KEY(Sno,Cno),四、建立部门表 DEPT,要求部门名称 Dname列取值唯一,部门编号Deptno列为主码。(列值唯一) CREATE TABLE DEPT (Deptno NUMERIC(2),Dname CHAR(9)UNIQUE,Location CHAR(10),PRIMARY KEY(Deptno) 五、Student表中Ssex只允许“男”或“女”。(用 CHECK 短语指定列值应该满足的条件)CREATE TABLE Student (Sno CHAR(9)PRIMARY KEY,Sname CHAR(8)NOT NULL,Ssex CHAR(2)CHECK(Ssex IN(„男‟,„女‟)),Sage SMALLINT,Sdept CHAR(20) 六、当学生的性别是男时,其名字不能以 MS.打头。(元组上的约束条件的定义)CREATE TABLE Student (Sno CHAR(9),Sname CHAR(8)NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno),CHECK(Ssex=„女‟ OR Sname NOT LIKE „ MS.% ‟)); 七、完整性约束命名子句 CONSTRAINT <完整性约束条件名> [PRIMARY KEY 短语ㄧCHECK 短语] 例1:建立学生登记表Student,要求学号在90000-99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。 CREATE TABLE Student (Sno NUMERIC(6) CONSTRAINT C1 CHECK(Sno BETWEEN 90000 AND 99999),Sname CHAR(20) CONSRAINT C2 NOT NULL,Sage NUMERIC(3) CONSTRAINT C3 CHECK(Sage < 30),Ssex CHAR(2) CONSTRAINT C4 CHECK(Ssex IN(„男‟,„女‟)),CONSTRAINT StudentKEY PRIMARY KEY(Sno)); 例2:建立教师表 TEATHER,要求每个教师的应发工资不低于3000元。应发工资实际上就是实发工资例Sal与扣除项Deduct之和。 CREATE TABLE TEATHER (Eno NUMERIC(4)PRIMARY KEY,Ename CHAR(10),Job CHAR(8),Sal NUMERIC(7,2),Deduct NUMERIC(7,2),Deptno NUMERIC(2),CONSTRAINT EMPFKey FOREIGN KEY(Deptno)REFERENCES DEPT(Deptno),CONSTRAINT C1 CHECK(Sal+Deduct >=3000)); 八、限制修改表Student中的约束条件,要求学号改在900000-999999之间,年龄由小于30改为小于40。(修改表中的完整性) 可以先删除原来的约束条件,再增加新的约束条件。 ALTER TABLE Student DROP CONSTRAINT C1; ALTER TABLE Student ADD CONSTRAINT C1 CHECK(Sno BETWEEN 900000 AND 999999),ALTER TABLE Student DROP CONSTRAINT C3; ALTER TABLE Student ADD CONSTRAINT C3 CHECK(Sage <40); 九、SQL 使用 CREATE TRIGGER 命令建立触发器,其一般格式为 CREATE TRIFFER <触发器名> { BEFORE AFTER } <触发事件> ON <表名> FOR EACH {ROW STATEMENT} [WHEN <触发条件>] <触发动作体> 例:定义一个BEFORE 行级触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于40000元,自动改为4000元”。 CREATE TRIGGER Insert_Or_Sal BEFORE INSERT OR UPDATE ON Teacher FOR EACH ROW AS BEGIN IF(new.Job=‟教授‟)AND(new.Sal<4000)THEN new.Sal :=4000; END IF; END; 十、执行修改某个教师工资SQL语句,激活上述定义的触发器。 UPDATE Teacher SET Sal=800 WHERE Ename=„陈平‟; 执行顺序是: 执行触发器 Insert_Or_Update_Sal; 执行SQL语句“UPDATE Teacher SET Sal=800 WHERE Ename="陈平";" 执行触发器Insert_Sal; 执行触发器Update_Sal.十一、删除触发器的SQL语法如下: DROP TRIGGER <触发器名> ON <表名>; 触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户的删除.例: 删除教师表 Teacher 上的触发器 Insert_Sal。 DROP TRIGGER Insert_Sal ON Teacher; 五、实验总结 在实验过程中我对于创建和修改触发器和完整性约束的语法搞不明白 专业:电子信息工程 学号:14020019 姓名:康文杰 一,实验内容: 本章介绍关系数据库标准语言SQL。主要内容包括:1数据定义、2数据操纵、3数据控制和数据约束等。 实验目标: (1)SQL数据库的体系结构,SQL的组成。 (2)SQL的数据定义:SQL模式、基本表和索引的创建和撤销。(3)SQL的数据查询: SELECT语句的句法,SELECT语句的几种形式及各种限定,基本表的联接操作。 (4)SQL的数据更新:插入、删除和修改语句。 (5)视图的创建和撤消,对视图更新操作的限制。(6)嵌入式SQL: 预处理方式,使用规定,使用技术,卷游标,动态SQL语句。 上课内容: 1)SQL的发展历程 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统System R上实现。 1986年10月,经美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准,并公布了标准SQL文本。 1987年6月国际标准化组织(ISO)将其采纳为国际标准,称为“SQL86”。相继出现了“SQL89”、“SQL2(SQL92)”、“SQL3”。2)SQL已成为关系数据库领域中的一个主流语言: 首先,各个数据库产品厂家纷纷推出了自己的支持SQL的软件或与SQL接口的软件。 其次,SQL在数据库以外的其他领域也受到了重视。不少软件产品将SQL的数据检索功能与面向对象技术、图形技术、软件工程工具、软件开发工具、人工智能语言等相结合,开发出功能更强的软件产品。 3)SQL数据库的体系结构的特征: 一个SQL模式是表和约束的集合。 一个表(TABLE)是行的集合。每行是列的序列,每列对应一个数据项。一个表可以是一个基本表,也可以是一个视图。一个基本表可以跨一个或多个存储文件,一个存储文件也可存储一个或多个基本表。 用户可以用SQL语句对视图和基本表进行查询等操作。SQL用户可以是应用程序,也可以是终端用户。4)SQL的组成 (1)数据定义语言(Data Definition Language,简称DDL)用于定义SQL模式、基本表、视图和索引。(2)查询语言(Query Language,简称QL)用于数据查询。 (3)数据操纵语言(Data Manipulation Language,简称DML)用于数据的增、删、修改。 (4)数据控制语言(Data Control Language,简称DCL)用于数据访问权限的控制。 二,实验过程: 1)定义基本表 : CREATE TABLE<表名>(<属性名1 ><类型1>[NOT NULL] [UNIQUE] [,<属性名2><类型2+ *NOT NULL+ *UNIQUE+ +…) [其他参数]; 一个关系的主关键字由一个或几个属性构成,在CREATE TABLE中使用保留字PRIMARY KEY声明主关键字: (1)在列出关系模式的属性时,在属性及其类型后加上保留字PRIMARY KEY,表示该属性是主关键字; (2)在列出关系模式的所有属性后,再附加一个声明: PRIMARY KEY(<属性1>[,<属性2>…+)如果关键字由多个属性构成,则必须使用方法(2) 2)基本表的修改和删除 1 增加新的属性 ALTER TABLE [<表的创建者名.>] <表名> ADD<属性名><类型>; 2基本表的删除 在SQL中删除一个无用表的操作是非常简单的,其语句格式为: DROP TABLE <表名>; 3)查询语句格式 查询语句的基本部分: SELECT <属性列表> FROM <基本表>(或视图) [WHERE <条件表达式>]; 4)元组插入,修改和删除 1元组插入语句的一般格式是: INSERT INTO <表名>[(<属性名1> [,<属性名2>,…+)+ VALUES(<常量1>[,<常量2>,…]); 2删除元组的语句格式是: DELETE FROM <表名> [WHERE <条件>]; SQL中用数据修改(UPDATE)来修改元组的值。其语句格式是: UPDATE <表名> SET <属性1>=<表达式1>[,<属性2>=<表达式2>,…] [WHERE <条件>]; 5)简单查询 最简单的SQL查询只涉及到一个关系,类似于关系代数中的选择运算。 三,实验感悟 总结:1SQL是关系数据库的标准语言,已广泛应用在商用系统中。 2SQL的数据定义部分包括对SQL模式、基本表、视图、索引的创建和撤消。 3SQL的数据操纵分成数据查询和数据更新两部分。4SQL的数据查询是用SELECT语句实现,兼有关系代数和元组演算的特点。5SQL的数据更新包括插入、删除和修改等三种操作,在视图中只有行列子集视图是可以更新的。 6嵌入式SQL涉及到SQL语句的宿主语言程序中的使用规定,以解决两种语言的不一致和相互联系的问题。 如何更加实际地解决数据库相关课程实验教学存在的重点和难点问题是我们一直思考的问题。是否可以采用既经济、又及时的实验教学辅导方式, 让学生自主学习、自主选择实验, 进而提高教学效率与教学质量呢?是否可以通过电子多媒体教材与纸质教材相结合, 形成系列化的实验教学解决方案, 提升整体实验教学能力呢? 目前, 市场上的数据库教学软件都是教学演示式的。例如, 笔者于2007年研发的《数据库技术与应用》教学软件就是教学演示式的, 这种软件不能让学生参与操作, 互动性不强, 学生不能在自我操练时获得及时帮助。为了加强基础性实验环节的教学工作, 使学生具有设计和开发数据库的实际操作经验, 必须开发数据库智能实验教学软件。数据库智能实验教学软件由实验演练系统和自测系统两部分组成。实验演练系统的设计思路就是模拟数据库SQL Server 2005环境, 为学生提供模拟操练数据库SQL Server 2005的学习平台, 培养学生运用数据库技术解决问题的能力, 激发他们在此领域中继续学习和研究的愿望, 实现数据库实验教学辅导的自动化。自测系统主要测试学生的实验与理论知识掌握情况, 并给予等级评价。 数据库智能实验教学软件不但可以改变课后学生实验操作无人指导的现状, 而且能够及时反馈实验结果、成绩等相关信息, 突出培养学生的数据库实践操作能力。实现个别化实验教学指导, 提高教学效率, 最终辅助完成课程的教学目标。 学习活动管理 在教学过程中, 须建立有利于培养高级技能型、应用型人才的实验教学方式, 倡导以学生为本的教育理念, 构建实验教学体系, 帮助学生积累实际数据库技术与操作经验。科学地分类管理学习活动, 将更有效地提高学生的实验学习效率。设计数据库智能实验教学方案, 可将学习活动分为概念解析、操作演示、自我测试和应用实验模拟演练四部分内容, 同时还提供了相应的课后习题与解答等学习内容。 概念解析主要为学习者提供数据库理论语音讲解, 全方位地帮助学生理解课程教学中的知识点。可以通过播放按钮, 暂停或启动播放课程内容。 应用实验模拟演练该部分模拟SQL Server 2005实验环境, 让学生自己去解决给定的实验内容。这样的自学实验操练环境, 可以培养学生解决实际问题的能力, 具有高效率、低成本的优点。当学生在操作过程中遇到困难, 只要开启智能提示, 就为其提供智能实验操作提示, 为学生提供及时实验辅导, 智能监控学生的操作。设计智能判错系统能够根据学生的操作, 及时准确地判断学生操作的对错, 并及时给出操作提示。信息智能判错系统建成后, 能够快速方便地将操作信息传递给智能判错系统, 判错的准确率要具有良好的可靠性和科学性。如何提高判错准确率, 是软件要解决的问题之一。这要求教师熟悉学生在操练SQL Server 2005数据库系统时可能出现的错误, 然后针对这些错误给出恰当的提示。如图1所示, 选择菜单“应用实验模拟演练”下的“新建数据库”选项, 开启智能提示的“新建数据库”应用实验模拟演练页面, 在应用实验模拟演练页面中, 单击“开启智能提示”按钮, 系统将处于智能判错状态, 同时可为学习者提供正确的操作提示。当学习者改变实验演练内容时, 系统可智能跟踪, 并在工具栏上同步给出相应操作演示的快速启动按钮。关闭智能提示, 只需单击“关闭智能提示”按钮。 操作演示“操作演示”将演示课程实验内容。在操作演示页面中, 系统列出演示任务, 学习者可以根据学习情况暂停、开始、定位、退出演示过程, 这使学生在学习过程中可以反复观看操作过程。 自我测试该部分主要功能是根据用户理论知识与实验操作掌握情况, 给予合理的评测等级, 并根据学生学习进程给予升级和降级评测。应具有趣味性与游戏性, 以激发学生的课堂参与感和学习兴趣, 激发学生积极主动思考的学习热情, 形成课堂教学广度和深度的延伸, 拓宽课堂的时空领域。自我测试部分主要测试学生在理论知识方面的掌握程度, 使学生可以检查自我学习效果。实验教学软件也同时给出教材课后习题与答案。 多索引学习导航设计 在实验教学过程中, 采用多索引导航策略进行实验辅助教学, 包括树形课程目录导航、菜单导航、课程导读超文本链接导航三种方式。学习者可根据自己的学习进度控制学习内容, 实现个别化教学策略、接受式学习与探究式学习的“螺旋式”配合。如图1所示, 系统的主页面以简洁使用为主, 由菜单、树形课程目录、工具栏、学习区四个区域组成。菜单按学习活动分类组织课程学习内容, 为学习者导航学习活动进程。菜单导航条主要包括概念解析、操作演示、应用实验模拟演练、自我测试、课后习题与解答, 同时在菜单条中还包含了课程导读、软件介绍和教材介绍。课程导读为学习者提供了一个以情景对话为线索的学习导航页面。围绕着一个源自生活情景的具体任务, 通过关键词的超文本链接引导学生探究“人们为什么需要数据库?”、“可以应用数据库解决什么问题”以及“如何利用数据库实现这些需求”等问题, 让学生在自然阅读过程中学习课程内容, 自主控制学习进度。 树形课程目录按照课程体系组织课程目录, 强调课程内容间的内在逻辑联系, 体现课程知识体系的科学性。如图2所示, 树形课程目录可以被全部展开或全部折叠, 快捷菜单如图3所示。 数据库智能实验教学软件的研发将改变教学软件单向授予知识的固有模式, 帮助学生通过真实的模拟操作环境, 提高学习效率, 并让此软件产品在市场上得以推广, 能够为更多的学习者提供服务。随着数据库技术的不断进步和计算机性能的稳步提高, 带有实验智能指导的辅助教学系统也将在功能上不断升级。 参考文献 [1]詹英, 等.数据库技术与应用——SQL Server 2005简明教程[M].北京:清华大学出版社, 2008. [2]詹英, 等.基于SQL探讨数据库设计技术[J].台州学院学报, 2006, (6) . [3]詹英.计算机应用能力网络化考核系统设计[J].计算机工程与科学, 2005, (1) . 【数据库实验报告册】推荐阅读: 数据库实验五实验报告12-20 北邮数据库实验报告07-07 sql数据库实验报告07-27 华师数据库实验报告10-03 数据库实验报告完整版11-30 《数据结构》实验报告——排序05-30 数据处理上机实验报告06-25 网络数据采集实验报告10-09 数据结构实验3报告doc09-06 福州大学数据结构实验报告-线性表06-24数据库实验报告册 篇2
数据库实验报告册 篇3
数据库实验报告 篇4
数据库实验2报告 篇5
数据库实验报告册 篇6
数据库课程上机实验报告 篇7
北工大 数据库实验报告 篇8
数据库实验报告册 篇9