扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
都差不多吧!我也写过一次,给你吧,希望能够帮到你
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都人造雾等,在网站建设公司、全网营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
这个星期是我们SQL Server 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。而本次实训的目的是让我们掌握数据库系统的原理、技术。将理论与实际相结合,应用现有的数据库管理系统软件,规范、科学地完成一个设计与实现。
这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们实训的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。存储过程、触发器也是我们实训的内容之一, 在操作中有建立存储过程,执行存储过程,及查看和修改存储过程,这些都是非常基础的东西,但对用户却是非常重要的呢,只有熟悉了T_SQL语言,才能更好的掌握更多的东西。我们还学习了,SQL管理、数据的导入、导出、备份和还原。有SQL Server 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对SQL Server数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。在实训内容上我们还做了仓库管理数据库,其中的要求包含了许多数据库的对象,综合了我们所学的许多知识,让我们更努力的把所学到的东西运用上去。
实训课是在学习与探索中度过的,短暂的一星期实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如仓库管理数据库的初步设置、数据备份与还原的步骤,如何建立视图、触发器等一系列的问题,正是在老师和同学的共同努力之下,我们才一步步把问题解决了,最终完成了不可能完成的任务。
一个月的数据库实训就转眼间就上完了,期间讲解了一个学生管理系统,最后还做了一个小的数据库链接作业。现在就说说关于vb链接的数据库的一些方法。
首先说数据库,简单的说就是建表格,然后把一张一张的表格和在一起,成为一大堆的数据集合。他是依照某种数据结构组织起来并存放二级存储器中的数据集合,基本分为三个层次,物理数据层,概念数据层和逻辑数据层。不同层次间的联系是通过映射来转换的。
大多数vb链接数据库都使用ado控件,他可以分为分为有源数据库和无源数据库,即是否使用了dsn数据源。在连接数据库前首先要在vb菜单中“工程”-“引用”或“部件”从中选择 microsoft activex data objects 2.6 library和 microsoft activex data objects recordset 2.6两个组件,然后定义链接的对象,用什么名字由自己决定。下面的代码也要由自己建立的数据库来具体设置参数。
set db = new adodb.connection
set xs = new adodb.recordset
conn.connectionstring = "dsn=login;uid=;pwd=;"
conn.connectiontimeout = 30
conn.open
rs.open "select 用户名 from login", conn, adopenstatic, adlockreadonly, adcmdtext
dim i as string
for t = 0 to val(rs.recordcount) - 1
i = trim(rs.fields("用户名").value)
rs.movenext
combo1.additem i
next t
rs.close
这样数据库也就基本上链接好了。
《Visual FoxPro数据库基础教程实践与题解》是《Visual FoxPro数据库基础教程》配套教材。全书包括4部分内容:第1部分为《Visual FoxPro数据库基础教程》的习题与参考答案;第2部分为VisualFoxPro8.0的安装、配置和课程本身的上机实验安排,介绍了指导学生上机实验时常见调试程序的基本操作,并根据教材内容提供了10个配套实验;第3部分为VisualFoxPro8.0数据库实训指导及为初学者提供的3个典型的实践案例;第4部分为6套模拟试题和参考答案,其中包括2套上机操作试题及参考答案。《Visual FoxPro数据库基础教程实践与题解》结构合理、内容新颖、深度适宜、实用性强,不仅可以作为《Visual FoxPro数据库基础教程》的参考书,也可以作为其他Visual FoxPro数据库教材的参考书。
《Visual FoxPro数据库基础教程实践与题解》适合作为高等院校本科、专科学生学习Visual FoxPro数据库课程的参考书,也可作为数据库编程人员和信息管理等相关领域的技术工作者自学与参考用书。
在学习之前,我们需要搭建一个学习数据库的环境。
对于 SQL Server 来说,现在还在使用的有多个版本,SQL Server2000, SQL Server 2005, SQL Server2008 ,还有最新的 SQL Server 2012 。对于每个大的版本来说,每个主版本中,安装功能还有多个子版本供我们选择。
学习数据库开发,并不需要完全版的数据库,微软提供了免费的 Express 版本供学习和开发使用。
为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。
1.在查询结果中显示列名:
a.用as关键字:select name as '姓名' from students order by age
b.直接表示:select name '姓名' from students order by age
2.精确查找:
a.用in限定范围:select * from students where native in ('湖南', '四川')
b.betweenand:select * from students where age between 20 and 30
c.“=”:select * from students where name = '李山'
d.like:select * from students where name like '李%' (注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'%李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'。)
e.[]匹配检查符:select * from courses where cno like '[AC]%' (表示或的关系,与"in()"类似,而且"[]"可以表示范围,如:select * from courses where cno like '[A-C]%')
3.对于时间类型变量的处理
a.smalldatetime:直接按照字符串处理的方式进行处理,例如:
select * from students where birth = '1980-1-1' and birth = '1980-12-31'
4.集函数
a.count()求和,如:select count(*) from students (求学生总人数)
b.avg(列)求平均,如:select avg(mark) from grades where cno=’B2’
c.max(列)和min(列),求最大与最小
5.分组group
常用于统计时,如分组查总数:
select gender,count(sno)
from students
group by gender
查看男女学生各有多少)
注意:从哪种角度分组就从哪列"group by"
对于多重分组,只需将分组规则罗列。比如查询各届各专业的男女同学人数,那么分组规则有:届别(grade)、专业(mno)和性别(gender),所以有"group by grade, mno, gender"select grade, mno, gender, count(*)
from students
group by grade, mno, gender
通常group还和having联用,比如查询1门课以上不及格的学生,则按学号(sno)分类有:
select sno,count(*) from grades
where mark60
group by sno
having count(*)1
6.UNION联合
并查询结果,如:
SELECT * FROM students
WHERE name like ‘张%’
UNION [ALL]
SELECT * FROM students
WHERE name like ‘李%’
7.多表查询
a.内连接
select g.sno,s.name,c.coursename
from grades g JOIN students s ON g.sno=s.sno
JOIN courses c ON g.cno=c.cno
(注意可以引用别名)
b.外连接
b1.左连接
select courses.cno,max(coursename),count(sno)
from courses LEFT JOIN grades ON courses.cno=grades.cno
group by courses.cno
左连接特点:显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。
左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行。
b2.右连接
与左连接类似
b3.全连接
select sno,name,major
from students FULL JOIN majors ON students.mno=majors.mno
两边表中的内容全部显示
c.自身连接
select c1.cno,c1.coursename,c1.pno,c2.coursename
from courses c1,courses c2 where c1.pno=c2.cno
采用别名解决问题。
d.交叉连接
select lastname+firstname from lastname CROSS JOIN firstanme
相当于做笛卡儿积
8.嵌套查询
a.用关键字IN,如查询李山的同乡:
select * from students
where native in (select native from students where name=’ 李山’)
b.使用关键字EXIST,比如,下面两句是等价的:
select * from students
where sno in (select sno from grades where cno=’B2’)
select * from students where exists
(select * from grades where
grades.sno=students.sno AND cno=’B2’)
9.关于排序order
a.对于排序order,有两种方法:asc升序和desc降序
b.对于排序order,可以按照查询条件中的某项排列,而且这项可用数字表示,如:
select sno,count(*) ,avg(mark) from grades
group by sno
having avg(mark)85
order by 3
10.其他
a.对于有空格的识别名称,应该用"[]"括住。
b.对于某列中没有数据的特定查询可以用null判断,如select sno,courseno from grades where mark IS NULL
c.注意区分在嵌套查询中使用的any与all的区别,any相当于逻辑运算“||”而all则相当于逻辑运算“”
d.注意在做否定意义的查询是小心进入陷阱:
如,没有选修‘B2’课程的学生 :
select students.*
from students, grades
where students.sno=grades.sno
AND grades.cno ’B2’
上面的查询方式是错误的,正确方式见下方:
select * from students
where not exists (select * from grades
where grades.sno=students.sno AND cno='B2')
11.关于有难度多重嵌套查询的解决思想:
如,选修了全部课程的学生:
select *
from students
where not exists ( select *
from courses
where NOT EXISTS
(select *
from grades
where sno=students.sno
AND cno=courses.cno))
最外一重:从学生表中选,排除那些有课没选的。用not exist。由于讨论对象是课程,所以第二重查询从course表中找,排除那些选了课的即可。
要求学生学习并掌握现代计算机信息系统所必备的基础理论、专业知识、主要的实现手段。具有比较熟练的数据库应用,信息系统管理技能,并能进行基本的信息系统工程中的需求研究、开发与维护。 二. 专业方向 1.微软SQL SERVER方向/ORACLE方向 2.信息管理方向 3.财务信息管理方向 三. 具体介绍 (一)微软SQL SERVER方向 这个方向是和微软ATA联合办学,参加微软考证,课程考试合格,可以获取微软的MCDBA认证证书。 1. 知识能力结构 (1) 具有熟练应用和操作计算机的能力。 (2) 具有较好的英语听、阅读能力及简单的写作能力。 (3) 熟悉.NET框架平台,熟练基于.NET框架的程序开发。 (4) 熟练掌握SQL Server数据库,能够对数据库进行各种操作。 (5) 掌握计算机网络基本概念,掌握局域网的组建与管理技术,熟练掌握网络操作系统的使用。 2. 就业方向: (1) 各企业事业单位劳动、人事、档案、财务管理、电子商务及办公自动化。 (2) 企业ERP系统的开发、实施与维护。 (3)网络组建运行维护、信息管理及数据库建设。 (4)企业电子商务的实施与系统维护 3. 主要课程介绍 (1)SQL Server 2000 设计与应用 主要讲授数据库技术的基本概念,数据模型和关系数据库模型,关系数据库设计理论,SQLserver数据库设计,数据查询,高级SQL语言查询,存储过程,应用数据库设计。 (2) ADO.NET 程序设计 操纵数据库是编写应用程序的重要环节,单独开设一门课程讲解如何编写高效、安全、稳定的面向数据的应用程序。 (3)基于.NET 的Web 应用程序设计 介绍设计基于.NET 的Web 应用程序的基本概念,方法和相关配置,是本专业重要的课程。 4. 实践训练课程 SQL SERVER程序设计实训、ASP.NET课程实训、毕业综合实训。 (二)ORACLE方向 这个方向是和ORACLE联合办学,参加ORACLE考证,课程考试合格,可以获取ORACLE的数据库工程师证书。 1.知识能力结构 (1) 具有熟练应用和操作计算机的能力。 (2) 具有较好的英语听、阅读能力及简单的写作能力。 (3) 熟悉ORACLE框架平台,熟练基于ORACLE框架的程序开发。 (4) 熟练掌握SQL Server数据库,能够对数据库进行各种操作。 (5) 掌握计算机网络基本概念,掌握局域网的组建与管理技术,熟练掌握网络操作系统的使用。 2.就业方向: (1) 各企业事业单位劳动、人事、档案、财务管理、电子商务及办公自动化。 (2) 软件程序的设计、开发、调试与维护。 (3) 金融证券行情接收、分析、交易,人口、工业、农业等普查。 (4) 工业生产过程自动化控制、农业大棚管理、环境监测、天文计算等。 (5) 网络组建运行维护、信息管理及数据库建设。 3.主要课程介绍 (1)ORACLE 数据库及应用 本课程主要介绍ORACLE数据的使用,其中包括SQL语言的基础基本数据定义、数据操作语句。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流