




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验 一 PowerDesigner的CDM应用 学号 姓名 一、 实验内容用PowerDesigner设计概念数据模型。二、 遇到的问题及解决说实话第一次实验比较简单,而且实验指导书讲解得非常的详细,所以我按部就班地做一会儿就做出来了,有一点小问题就是在设置主键的时候勾选到F了,后来一想主键应该是Primary key才对,F应该是Foreign key,然后修改过来了。三、 心得体会用PowerDesigner设计概念模型非常的方便,这方便我们在以后将概念数据模型转换为屋里数据模型。实验 二PowerDesigner的PDM应用 学号 姓名 一、实验内容将PowerDesigner的概念数据模型转换为物理数据模型。/*=*/* DBMS name: MySQL 5.0 */* Created on: 2014-3-18 19:57:37 */*=*/drop table if exists Bookstore;drop table if exists address;drop table if exists buybook;drop table if exists customer;/*=*/* Table: Bookstore */*=*/create table Bookstore( storeId char(6) not null, storename varchar(30), Address varchar(60), city varchar(20), prevence varchar(20), code char(6), primary key (storeId);/*=*/* Table: address */*=*/create table address( AddressType char(2), CustomerID varchar(10), Address1 varchar(50), Address2 varchar(50), City varchar(20), State varchar(15), zipcode char(6) not null, primary key (zipcode);/*=*/* Table: buybook */*=*/create table buybook( CustomerID varchar(10) not null, storeId char(6), primary key (CustomerID);/*=*/* Table: customer */*=*/create table customer( CustomerID varchar(10) not null, AccountBalance decimal(10,2), FirstName varchar(10), LastName varchar(20), CompanyName varchar(40), primary key (CustomerID);alter table address add constraint FK_livein foreign key (CustomerID) references customer (CustomerID) on delete restrict on update restrict;alter table buybook add constraint FK_buybook foreign key (CustomerID) references customer (CustomerID) on delete restrict on update restrict;alter table buybook add constraint FK_buybook2 foreign key (storeId) references Bookstore (storeId) on delete restrict on update restrict;二遇到的问题及解决这次试验的难度有所提升,所以问题开始多了起来,总共遇到两个问题,1.在生成PDM的过程中会包两个错误,思考了很久,我看到错误提示是关于key(键)的,由于有一个关系没有设置主键,所以产生PDM的时候会报错,于是我把那个关系设置了一个主键问题就解决了。2.运行sql文件中的语句时出现的错误,在生成sql文件的时候生成的是中文语句,于是我要把所有的中文词汇替换成对应的英文,在替换中出现了一点小错误,按照命令提示的错误我找到了错误的地方,修改后能正常运行,建立好了数据库。三心得体会这是第一次用命令提示符创建好了数据库,虽然现在主流一般都用数据库管理工具,但是掌握好这一技能也是必要的,这次虽然遇到很多错误,但是收获很大,让我明白了数据库的严谨性,不能有一点的错误。实验 三 Navicat for MySQL的使用基础 学号 姓名 一实验内容对在Navicat中mysql的基础使用进行学习。二遇到的问题及解决这次我们的是Navicat的可视化操作,所以很简单,一般这种发生的问题不过都是有一些功能找不到菜单,然后问问同学和老师就解决了。三心得体会我发现Navicat是一个非常好用而且界面简洁的数据库可视化工具,就算不会数据库语言的人也能轻松的建表,而且功能非常齐全,建表,查看,修改,都有对应的可视化操作菜单,但是我觉得还是应该尽量用数据库语言对数据库进行操作,这样不管有没有可视化工具我们都能游刃有余的操作数据库。实验 四 SQL语言数据定义语言DDL 学号 姓名 一实验内容学会使用SQL语言中的CREATE,DROP,ALTER语句对数据库的相关操作。1.create table student(studentid varchar(10),name varchar(20),sex varchar(2),age integer,Fee decimal(10,2),address varchar(50),memo varchar(300);2.create table CourseAa(Aa1 varchar(20),Aa2 Integer,Aa3 decimal(10);3.create table ChooseBb(Bb1 varchar(30),Bb2 Integer,Bb3 decimal(6);6.drop table CourseAa;7.alter table Choosebb add Bb4 varchar(20) default 系统测试值 not null ;8.alter table ChooseBb add Bb5 varchar(10) primary key;9.create view View_Choosebb(View_bb1,View_bb2,View_bb3) as select Bb1,Bb4,Bb5 from ChooseBb;10.drop view View_Choosebb;11.create index Index_bb2 on ChooseBb ( Bb2 ASC);create index Index_bb4 on Choosebb(bb4 desc);12.drop index Index_bb2 on choosebb;二遇到的问题及解决在创建表的时候要定义一些数据结构,每个数据结构之间要用逗号隔开,而且最后一个之后不能打逗号,必须严格的按照sql的语法来实现,否则会报错。而且尽量避免使用DROP语句,否则如果错删除表是很难恢复的。三心得体会上次我们用的都是用的可视化菜单来操作数据库,这次是用sql的语句,除了一些小细节,其他的方面还好,都能得到正确的答案。实验 五 SQL语言数据操纵语言DML 学号 姓名 一实验内容:用sql语句INSERT,UPDATE,DELETE对数据库表进行操作。创建test表3.create table test(Name varchar(20),age Integer,Score Numeric(10,2),Address varchar(60) );4.向test插入数据:insert into test values (赵一,20,580.00,重邮宿舍12-3-5),(钱二,19,540.00,南福苑5-2-9),(孙三,21,555.50,学生新区21-5-15),(李四,22,505.00,重邮宿舍8-6-22),(周五,20,495.50,学生新区23-4-8),(吴六,19,435.00,南福苑2-5-12);5.创建test_temp表create table test_temp(Name varchar(20),age Integer,Score Numeric(10,2),Address varchar(60) );6.向test_temp插入数据:insert into test_temp values(郑七,21,490.50,重邮宿舍 11 -2-1),(张八,20,560.00,南福苑 3-3-3),(王九,10,515.00,学生新区 19 -7-1);7.insert into test select * from test_temp;8.update test set Score=Score+5 where age=21 and Score=500;11.delete from test where Score550 and Address like 重邮宿舍%;二遇到的问题及解决这个实验中要求插入多组数据,一开始只是写多个INSERT数据进行插入,觉得这样很麻烦,后来发现INSERT后面接多个数据也可以插入,于是插入数据变得简单了很多。三心得体会终于我们能够用sql语句插入数据了,可以将数据存储到数据库中进行保存,但是这只是入门的知识,后面还要对数据库的的结构进行优化,这样存储的效率才能更高效。 实验 六 SQL语言数据查询语言DQL 学号 姓名 1、 实验内容数据查询语言指对数据库中的数据查询、统计、分组、排序等操作。查询语句可以分为简单查询、连接查询、嵌套查询和组合查询等。SELECT * FROM student WHERE EXISTS(SELECT College FROM student WHERE Name=张三) AND College=(SELECT College FROM student WHERE Name=张三)AND Name!=张三;SELECT CourseID,CourseName FROM course WHERE CourseBeforeID IS NULL;SELECT SNO,Name FROM student WHERE College=计算机学院;SELECT *FROM student WHERE age BETWEEN 20 AND 23;SELECT choose.SNO,Score FROM student,choose WHERE CourseID=C1 AND choose.SNO=student.SNO AND Score(SELECT Score FROM student,choose WHERE CourseID=C1AND Name=张三AND choose.SNO=student.SNO);SELECT DISTINCT SNO FROM choose WHERE CourseID=C1UNIONSELECT DISTINCT SNO FROM choose WHERE CourseID=C3;SELECT SNO FROM choose WHERE CourseID=C1UNIONSELECT SNO FROM choose WHERE CourseID=C3;SELECT student.SNO,Name,CourseName,Score FROM student,choose,course WHERE student.SNO=choose.SNO AND course.CourseID=choose.CourseID;SELECT MAX(Score) FROM choose WHERE CourseID=C1;SELECT MIN(Score) FROM choose WHERE CourseID=C1;SELECT SUM(Score) FROM choose WHERE CourseID=C1;SELECT AVG(Score) FROM choose WHERE CourseID=C1;SELECT COUNT(*) FROM student;二、遇到的问题及解决实验没有什么问题只是组合查询更加的复杂,使用的关键词的类型更多,有时会因为格式的错误和关键词的使用错误而得到不符合要求的答案,但是经过理解之后就没有问题了。三、心得体会这次试验也是数据库的查询但是却比以前的查询更加的全面和更具有实用性,更能有效的描述表与表之间的联系,查询出的数据也更符合现实生活中人们的要求。实验 七 MYSQL应用环境开发的建立 学号 姓名 一实验内容 通过在Windows平台下,搭建Apache Httpd Web服务器,PHP脚本支持,访问MySQL数据库等,学习了解MySQL应用开发环境的建立过程。本次实验通过安装Apache HTTD Server 2.2、PHP 5.3.28,配置httpd.conf和PHP.ini文件,完成MySQL的PHP应用开发环境的建立。二、遇到的问题及解决1.在安装Apache httpd 的时候我错误的选择端口为80,于是安装完成后不能通过实验书上写的http:/localhost:8080访问到服务器的网页,后来检查才发现,但是我没有重新安装,输入网址http:/localhost:80也访问到了服务器上的网页.2.解压php-5.3.28压缩文件到D盘时未能将所有文件及文件夹放置到一个文件夹内,于是后面修改php配置文件使之能支持mysql时发生了找不到mysql相关的配置文件错误,于是我重新解压了一次压缩文件便恢复了正常。三、心得体会这次试验对我们来说是不小的收获,我们以后可以通过这个搭建服务器发布自己的网页,同时也对Tomcat有了一些了解。我希望有一天能搭建自己的网站,放上自己写的网页展示给别人看。实验 八 MySQL的存储过程 学号 姓名 一实验内容1. 重点:(1) 存储过程的创建、修改和删除。(2) 存储过程的调用。2. 难点:(1) MySQL的分隔符定义(2) 存储过程的创建(3) 带参数的存储过程的调用create database db5128;use db5128;create table cqupt(s1 integer);insert into cqupt values(1);CREATE PROCEDURE third_p()SELECT * FROM cqupt;CREATE PROCEDURE simpleproc2(IN i INT,OUT X INT)SELECT 10*i INTO X ;drop procedure third_p;二遇到的问题及解决1. 在创建存储过程的时候,在存储过程名的括号后面多加了一个;结果导致创建存储过程失败,调试了很久才通过。2. 在创建存在输出参数的存储过程的时候没有使用into 关键字,导致得到的结果没有赋值给输出变量,没能得到正确的结果,在调用该存储过程的时候输出参数名没加符号,导致出现未知的错误。之后按照实验指导书上面的语句书写得到了答案。三心得体会感觉sql里面的存储过程有一点像c语言里面的函数,将很多的语句进行封装,这样可以提高代码的重用率,使用大量重复的sql语句时节省更多的时间,并且在程序的视图端不容易被别人看到开发者对数据库真正的操作,提高了数据库的安全性。实验 九 MySQL的触发器 学号 姓名 一实验内容了解MySQL触发器的创建、修改、删除方法和步骤,掌握在Navicat for mysql中对触发器进行创建、修改和删除,掌握触发器触发的测试方法。create trigger aduit_student_update before update on studentfor each rowBEGINinsert into student_log() values (current_user,current_timestamp,更新前操作);end;二遇到的问题及解决1. 创建存储过程的时候忘记写for each row 引起了未知的错误;2. 创建了更新操作的触发器之后,我对表不断的插入数据,但是发现action那一栏一直是NULL,后来才发现只有更新操作才能触发器才能被出发,以后创建触发器的时候要根据自己需要的类型(before,after,update等)进行操作。3 心得体会触发器让我们可以方便的追踪用户对表的操作,生成数据库使用日志等,方便对表的管理,感觉就像java里面的事件处理机制,可以对用户产生的动作进行捕捉,只不过这里是对数据库表的操作而已。实验 十 SQL语言数据控制语言DCL 学号 姓名 一、实验内容1. 重点:(1) 权限的授予(2) 权限的回收2. 难点权限授予的with grant option的使用当用户对某操作无权限的,如何对其进行授权。grant all on test.* to jason% identified by abc123;revoke all on test.* from jason;revoke select on mysql.dcltest from jason;二遇到的问题及解决授权语句对用户进行授权的时候要指明授权的类型和用户的名称,验证的类型等,否则在访问数据库的时候会出现无法连接的错误。在做对数据的修改进行授权的时候,始终无法访问数据库,后来发现必须先对数据库的访问进行授权,这样才能先访问,后修改。三心得体会以前没有学习授权的时候,如果编程要用到数据库,我们会直接用管理员的账户和密码数据库的访问,但是这样带来的问题就是安全性不高,如果恶意者对程序进行修改或者通过程序窃取到了数据库的密码,这样会使数据库的数据安全受到威胁,但是现在有了授权机制之后,可以对只需要访问数据库数据的用户只授予访问权限,这样就不会让别人有权利修改数据,数据的安全性有了较好的保障,而且可以收回权限,让数据库的共享性变得更加良好。实验 十一 MySQL的事务与锁 学号 姓名 一实验内容1. 重点:(1) 事务的设置、提交和回退(2) 表的锁定和表的解除2. 难点事务的开始与结束SAVEPOINT的用法表锁定与锁定解除start transaction;update record set jine=jine-10000 where name=李四;select * from record;update record set jine=jine+10000 where name=王五;select * from record;commit;select * from record;lock table sellrecord read;start tansaction;update record set jine=jine-5000 where name=李四;update record set jine=jine-15000 where name=王五;upda
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分生组织微环境相互作用-洞察及研究
- 高校教师师德师风与教学改革心得体会
- 检验科2025生物安全培训试题及答案
- 2025年全国特种设备安全管理人员A证考试练习题库含答案
- 保洁新员工培训课件
- 2025年心肺复苏考试题(+答案)
- 有色金属配料工综合考核试卷及答案
- 建筑工程项目进度计划与风险应对措施
- 文明施工管理体系及措施
- 高炉原料工岗位操作技能考核试卷及答案
- 迎中秋庆国庆主题班会
- 初高中衔接数学教学的心得
- 2023-2024学年湖南省耒阳市小学语文六年级下册期末自测测试题
- 12YJ4-1 常用门窗标准图集
- GB/T 12190-1990高性能屏蔽室屏蔽效能的测量方法
- 高血压的危害-课件
- ISO15189医学实验室认可概况课件
- 轻钢龙骨、双层石膏板吊顶施工方案
- 安全网(平网)张挂安全技术要求
- 危险品管理台帐
- 政务云收费标准 云托管收费标准
评论
0/150
提交评论