手机数据间歇性断网上网总断网对话栏显示范1:1连接不上。怎么处理

电脑过一会儿就断网,怎么办?_百度知道
电脑过一会儿就断网,怎么办?
以前从没有这样!用360,瑞星一起查杀过,显示电脑没有病毒。PPS,QQ,网页每过几分钟就会掉线,怎么也连接不上,360也显示不能连接到安全中心。必须重启,刚开机的前几分钟全部正常,随后又出现上述情况......
我有更好的答案
断网的原因以及解决方法:一、检查网线是否松动  对于大多数宽带用户来说,ADSL猫接无线路由器的布网方式最为普遍,当出现掉线的情况,我们首先要考虑的是线路问题。  由于电话线线路过长,接头过多,或存在一些干扰源,很可能引发掉线,还有劣质、不符合标准的网线经常会引起网络不稳定,所以当发现掉线了,要先检查一下网线接口是否松了。  如果发现网线接口完好的话,要检查一下电源信号灯的问题了。
二、电源信号灯是否恒亮  倘若电源信号灯不亮,首先要排查电源方面的问题。如是否因市电供电不稳定造成掉线,ADSL Modem本身的电源是否存在问题等。  用手触摸ADSL Modem外壳,感觉非常烫手,此时不妨将ADSL Modem暂时关机待到冷却后再开机使用,或者把它放置到比较通风的位置,这样也可以消除掉线故障。
三、检查数据信号是否正常  如果数据信号灯不亮,则很可能是线路出现断路、短路等现象,再通过电话测试,看看线路是否正常,如不正常,可以求助ADSL服务提供商的技术人员来解决此问题,ADSL Modem本身的电源是否存在问题等。  如果数据信号灯闪烁,则很有可能是线路接触不良引起的,你必须检查一下是否使用了分机、接头是否牢固、ADSL连接线路是否太长等。如果按以上步骤检查完后,数据信号灯仍然不能恒亮,说明该故障与线路无关,继续寻找其他原因。
四、网卡信号灯是否稳定  正常情况下,计算机中的网卡通过网线与ADSL Modem连接后,它的信号灯应该不停闪烁或恒亮。如果网卡信号灯出现不稳定的状态时,即不亮或不闪烁,则说明很有可能是网卡与网线的连接出现了故障。  此外,还需检查一下网卡是否松动,网卡驱动程序的安装是否正确,网卡资源是否发生冲突,网线接头是否松动。如果仍然不能恢复正常,说明该故障不是由网卡或网线引起的。
五、网络地址不能冲突  如果ADSL Modem的IP地址发生了冲突,或者DNS服务器地址设置错误,也会引起ADSL掉线。  如果你是一位虚拟拨号用户,不必自行设置IP地址,只要选择自动分配就可以了。如果你使用了固定的IP地址,就必须检查该IP地址是否与同网段内的其他工作站的IP地址发生了冲突,还要检查DNS地址是否设置正确、TCP/IP参数是否发生了变化。完成这些排查工作后,如果仍然不能消除故障,你就得从拨号软件上找找原因了。
六、检查拨号软件是否正常工作  首先用鼠标双击系统桌面中的拨号程序,执行宽带拨号连接操作,要是发现在拨号过程中系统出现“无法连接”的错误提示时,可以单击提示窗口中的“重试”按钮,正常情况下可以重新拨号3到5次就能解决问题了。  要是重新拨号3到5次后还无法成功连接的话,我们可以考虑将宽带“猫”电源关闭一段时间然后再打开,并使用Ping命令测试宽带“猫”的IP地址,要是能Ping通宽带“猫”的IP地址的话再进行重新拨号操作,相信这样多半能解决问题了。  倘若还是无法成功进行拨号,不妨将计算机系统重新启动一下,然后再进行反复拨号;要是这样的努力不能解决问题的话,那很有可能是电信机房的数据机将用户帐号锁定起来了,这个时候我们只能联系电信工作人员帮忙解锁了。  如果在没有修改TCP/IP参数的情况下,能够正常上网,那么现在不妨将TCP/IP协议删除,然后重新安装并正确设置,这样或许能够解决你的掉线故障。
七、负载过大  负载过大也是致使宽带掉线的原因之一,如我们经常使用的BT,如宽带共享网络中有些人正在进行BT下载,很可能出现负载过大的情况,使路由器掉线,这种情况多出现在学生宿舍或小型办公网络中。  为了避免出现这种情况,可以通过限制BT下载的流量和带宽,以不影响其它用户正常上网为度,特别是象CM、FTTX+LAN这类共享式宽带,疯狂的 P2P下载是造成网络瘫痪或掉线频繁的主因。当然我们也可以换一个连接速度较快的大站看看,是否连接速度正常,或者减轻下载负担。
八、共享宽带机子的数量  负载过大也是致使宽带掉线的原因之一,如我们经常使用的BT,如宽带共享网络中有些人正在进行BT下载,很可能出现负载过大的情况,使路由器掉线,这种情况多出现在学生宿舍或小型办公网络中。  为了避免出现这种情况,可以通过限制BT下载的流量和带宽,以不影响其它用户正常上网为度,特别是象CM、FTTX+LAN这类共享式宽带,疯狂的 P2P下载是造成网络瘫痪或掉线频繁的主因。当然我们也可以换一个连接速度较快的大站看看,是否连接速度正常,或者减轻下载负担。  由于一般路由器的带机数量有限,无线路由也是如此。当无线路由器带机过多时就会造成网络负载过大从而出现死机、掉线的问题出现。  为了避免出现以上的情况,我们可以限于处理器和缓存性能,减少无线路由器的带机数量。
九、感染病毒导致上网掉线  为了避免出现这种情况,可以通过限制BT下载的流量和带宽,以不影响其它用户正常上网为度,特别是象CM、FTTX+LAN这类共享式宽带,疯狂的 P2P下载是造成网络瘫痪或掉线频繁的主因。当然我们也可以换一个连接速度较快的大站看看,是否连接速度正常,或者减轻下载负担。  特别是住校的学生用户,一般都是一个路由器连接好几台机子,这样病毒的攻击概率会很大,所以有效的防范病毒会避免路由器断线甚至是更严重的故障。对于有经验的用户来说,当发现连访问局域网或者常规操作都出现速度变慢的情况时,会意识到这很可能是病毒所致。这时我们可以通过使用新版杀毒软件进行查杀,或 PING网关用查看流量的方法来定位问题。
采纳率:85%
来自团队:
可能的故障原因有五个:
第一,ADSL Modem或分离器故障。ADSL Modem或分离器的质量有问题,将造成频繁的掉线故障。建议借用一套能正常使用的设备,更换后再进行测试。
第二,ADSL线路故障。住宅距离局方机房较远(通常应当小于3000米),或线路附近有严重的干扰源,也会导致经常掉线。另外,在接线盒到ADSL Modem之间建议采用双绞线,即使采用平行线,也不应当超过5米。
第三,室内电磁干扰。室内的电磁干扰比较严重(如无绳电话、空调、洗衣机、冰箱),也可能导致通信故障,建议使ADSL Modem远离上述设备,并不与上述设备共用一条电源线。
第四,网卡缺陷。网卡的质量有缺陷,或者驱动程序与*作系统的版本不匹配,也能导致频繁掉线。
第五,PPPoE问题。这是系统中PPPoE软件安装不合理或软件兼容性不好引起的问题。一般来说,Windows XP建议使用系统本身提供的PPPoE协议和拨号程序。Windows 98/2000则可以安装Modem附送的PPPoE拨号程序。建议先安装系统安全补丁。
除此之外,还应当确认ADSL Modem散热良好。
ADSL间断性地无法获得IP地址
*作系统为Windows XP,以ADSL方式接入Internet。刚安装的时候一切正常,然而,现在经常是每隔1天或几天,拨号的时候就提示:“无法获得IP地址,检查网线是否插好!”重启几次后又一切正常(有时要过很长时间),怎么解决?
ADSL有两种接入方式,即专线方式和虚拟拨号方式,而绝大多数用户采用的都是后者。虚拟拨号方式不仅便于局方按时计费,而且也便于节约有限的IP地址资源,即只有用户拨入时才会获得一个IP地址,断开连接时又自动释放。然而,IP地址池中的IP数量毕竟有限,当突发的用户数量较多时,IP地址将被分配殆尽,后面的用户再拨入时将无法获取IP地址,直至其他用户下线并释放出IP地址为止,所以,在Internet访问高峰时间,无法获取IP地址的问题将会更加突出。如确属该原因,不必重新启动计算机,只须稍过片刻重新拨号,即可获得IP地址。也就是说,如果过一会儿即可获取地址,故障原因自然就出自局方。
另外,跳线水晶头松动也会导致连接时断时续的情况。因此,如果排除了局方原因,就应当检查以下各项内容:
* 网线是否有问题,尤其是RJ-45头,与网卡的接触是否良好。
* ADSL是否设置为“桥接(bridged)”方式。
* 网卡及驱动程序是否有问题。
* Windows XP*作系统是否有问题。
上网正常但无法打开任何网页
我有一台笔记本电脑,在单位通过局域网可以正常上网,回家后使用ADSL连接Internet就会出现问题。尽管电脑显示宽带连接正常,但却无法打开任何网页,无法实现Internet访问。ADSL Modem的所有LED指示灯显示正常。请问是什么原因?
在单位通过局域网上网时,网卡设置的IP地址信息(IP地址、子网掩码、默认网关、DNS服务器IP地址)是单位局域网指定的。而在家中上网使用ADSL时,需要重新设置该网卡的IP地址信息。通常情况下,与ADSL Modem连接的网卡的IP地址信息应当设置为自动获取IP地址。也就是说,回到家后,应当将网卡的IP地址设置为“自动获得IP地址”,DNS设置为“自动获得DNS服务器地址”。然后,将该网卡连接至ADSL Modem,即可正常连接Internet了。
IE总要检测代理服务器
我的系统是Windows 2000,ADSL上网。前几天把Internet Explorer(简称IE)升到了6.0(原先是5.0)后,出现了一点问题,网还能上,但就是在打开IE的时候总要检测代理服务器设置,还非常慢,在以前没有出现过这种问题,不知什么原因?
安装IE浏览器时,默认状态下,“局域网设置”中的“自动检测设置”复选框是被选中的。当打开IE浏览器时,IE将自动搜索局域网中的代理服务器设置,从而影响了IE访问Internet的速度。
建议在IE浏览器的“工具”菜单中选择“Internet选项”,选择“连接”选项卡,单击“局域网设置”按钮,在“局域网(LAN)设置”对话框中取消对“自动检测设置”复选框的选中。单击“确定”按钮,保存所作的修改
看看是不是网口接触不良;还有就是网线是不是不稳定
建议你第1步 你先做个系统或把杀毒软件卸载
安装金山卫士
2 是猫的问题
3是网线水晶头或接口不好
4是网卡或IP协议有问题
你按照我说的可以帮助你解决问题
你把网上邻居的IP设置成固定的IP地址就可以,我电脑以前也是这样,后来把IP设置成固定的,再没有掉过线
如果你能确定不是宽带的问题,多数是系统的问题,重装一下一般可以解决
其他4条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您现在的位置: >> 范文 >> 数据库工作总结范文
数据库工作总结范文
来源: 时间:
【数据库范文】教务系统数据库一.概述1.1 开发背景现如今招生越来越多,必然就会有大量的学生信息需要处理。如果只靠人力来完成, 这将会变成一项非常繁琐、复杂的工作,而且还会出现很多意想不到的错误,给管理这些 数据带来了很大的不便,也越来越不适合学校发展的需要。教务管理系统是一个庞大而复杂的系统,它包括对院系资料的管理,对课程资料的管理, 对学生资料的管理和对学生成绩的管理等等主要的功能。教务管理系统是每个学校的一项 必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受 到非常严重的损失,也会影响到每一个学生。所以现如今设计一个功能完整、操作简单以 及界面友好的教务管理系统变得非常重要。为了提高教务管理工作的效率,减少错误的出现,节约大量的人力资源,现在的学校的教 务管理也逐步从手工转到计算机自动化信息处理阶。通过这个系统,用户可以方便的对 院系资料、课程资料、学生资料和学生成绩资料进行添加、修改和删除操作,还可以对学 生资料和成绩进行查询操作。除此之外,对用户的添加和删除操作也很方便。1.2 开发环境简介系统平台:Windows xp 数据库服务器:Microsoft SQL Server二.需求分析2.1 功能需求这次开发的教务管理系统大大提高了学校管理工作的效率,使用户能够方便的对院系信 息、课程信息、学生信息以及成绩信息进行管理。本系统对具有不同权限的用户所开放 的功能是不同的,最高级用户的权限是“管理员”,它能使用系统的所有功能,另一种 用户的权限是“用户”,它只能使用系统的部分功能。不同权限的用户能使用的功能如下用户管理:此项功能只能由管理员使用 修改密码:管理员和用户都能使用 信息管理:包含了系别管理、学生管理、课程管理、成绩管理四个模块,只能由 管理员使用,用户不能使用。学生资料查询:只能由管理员使用,用户不能使用 学生成绩查询:管理员和用户都能使用2.2 模块划分本系统并不复杂,模块划分也比较清楚。通过对不同的功能进行分析,就可以得到系统 的模块划分。 (1)登录管理模块:为了保证系统的性,可以根据不同的用户权限来提供不同的服 务。分为管理员登录和用户登录两个子模块。(2)系统管理模块:分为用户管理和修改密码两个子模块。其中用户管理子模块又包含 了添加用户和删除用户两部分。(3)信息管理模块:对各基本表进行管理。分为系别管理、学生管理、课程管理和成绩 管理四个子模块。每一个模块又包含添加、修改和删除三个部分。(4)信息查询模块:在各基本表的基础上进行信息查询。分为学生资料查询和学生成绩 查询两个子模块。(5)帮助模块:分为关于系统和关于作者两个子模块。与之对应的模块划分(图一)如下所示:教务管理系统登录管理系统管理信息管理信息查询帮助管 理 员 登 录用 户 登 录用 户 管 理修 改 密 码系 别 管 理学 生 管 理课 程 管 理成 绩 管 理学 生 资 料 查 询学 生 成 绩 查 询关 于 系 统关 于 作 者添 加 用 户删 除 用 户添 加 院 系修 改 院 系删 除 院 系添 加 学 生修 改 学 生删 除 学 生添 加 课 程修 改 课 程删 除 课 程添 加 成 绩修 改 成 绩删 除 成 绩图一:模块划分图系统的窗体命名约定如表一所示 如表一所示2.3 系统的窗体命名约定如表一所示:表一:各窗体的命名约定 窗体 LoginForm1 FrmMain FrmUser FrmPasswordCharge FrmDepartment 窗体名称 登录窗口 教务管理系统 用户管理 修改密码 系别管理 窗体实现的功能 作为用户登录系统的窗口 系统的主界面,列出所有的功能 对用户的信息进行管理 用户可以在此修改密码 对院系的信息进行管理 FrmCourse FrmStudent FrmGrade FrmStuQuery FrmGradeQuery FrmAboutSysterm FrmAboutAuthor课程管理 学籍管理 成绩管理 学生资料查询 学生成绩查询 关于系统 关于作者对课程的信息进行管理 对学生的基本信息进行管理 对学生的成绩进行管理 对学生的基本信息进行查询 对学生的学习成绩进行查询 简单介绍了此系统的主要功能 给出了作者的主要信息三.设计内容 设计内容3.1 数据库设计由用户的需求分析和概念结构设计,最终设计了名为教务管理数据库的数据库,数据库中 的表如下所示表 1:登录信息表 记录号 1 2 3 记录号 1 2 3 记录号 1 2 3 4 5 6 记录号 1 2 3 4 5 6 记录号 1 2 3 字段名称 用户名 密码 权限 字段名称 系编号 系名 系主任 字段名称 学生编号 学生姓名 学生性别 年龄 身份证号 所在系 字段名称 课程编号 课程名 任课老师 课程学分 开课院系 课程简介 字段名称 学生编号 课程编号 平时成绩 数据类型 text text text 数据类型 int nvarchar nvarchar 数据类型 char nvarchar char int nvarchar nvarchar 数据类型 Int nvarchar nvarchar float nvarchar nvarchar 数据类型 char Int char 字段大小 16 16 16 字段大小 4 50 50 字段大小 10 50 10 4 50 50 字段大小 4 50 50 8 50 16 字段大小 10 4 8 属性(是否可为空) 否 否 否 属性(是否可为空) 主键 是 是 属性(是否可为空) 主键 是 是 是 是 是 属性(是否可为空) 主键 否 是 是 是 是 属性(是否可为空) 主键 主键 是表 2:系别信息表表 3:学生信息表表 4:课程信息表表 5:成绩信息表 4考试成绩char8是3.2 系统中主要功能实现(1)登录界面的设计 本系统的登录界面上主要有用户名、密码和用户权限三部分内容。用户若想进入系统, 就必须给出正确的用户名和密码,而且要选择正确的用户权限。如果用户输入的用户名 不存在或者密码与用户名不一致或者与用户权限不一致,都会给出相应的提示信息,告 诉用户出现的错误输入。而且,如果用户进行错误的输入超过三次时,系统会自动退出。实现这一功能的说明如下:函数开始建立连接,利用Fill()函数在Systerm.Data.DataSet的指定范围中添加或刷新行,以与使用 Systerm.Data.DataSet名称中的数据源中的行相匹配。OleDbDataAdapter1.Fill(dt) 利用For循环,判断循环次数是否小于所有记录的个数 For i = 0 To dt.Rows.Count - 1 If (用户名、密码和用户权限三者匹配时 ) Then Me.Hide() Me.Finalize() Me.AddOwnedForm(myform) 显示主窗体 If ( 用户权限 = 用户 ) Then 隐藏主窗体中的部分功能 myform.系统用户管理ToolStripMenuItem.Enabled = False myform.教务信息管理ToolStripMenuItem.Enabled = False myform.学生资料查询ToolStripMenuItem.Enabled = False Else 什么也不做 End If 退出For循环 End If Next If ( i &= dt.Rows.Count 即在所有记录中都没有找到与用户输入的值相同的) Then 说明在所有记录中都没有找到与之匹配的用户名、密码和用户权限 Then 弹出MsgBox,警告用户出现错误 MsgBox(&用户名与密码与用户权限不匹配!请验证后重新输!&, MsgBoxStyle.Exclamation, &警告&) 将密码对应的文本框中的内容置空 End If If ( 重复输入的次数超过3次) Then 弹出弹出MsgBox,警告用户出现错误 MsgBox(&你输入的次数已经超过了3次! 系统将退出! MsgBoxStyle.Exclamation, &, &警告&) 退出 End If 函数结束 (2)信息管理模块的设计信息管理模块的三种操作,主要是添加记录,修该记录,删除记录三大功能。而且在执 行各项功能时都会给出足够的提示信息,例如进入时的提示信息,有些信息不能为空的 提示,以及操作成功的提示信息。(a) 下面以系别管理模块中添加院系来说明如何添加记录的,说明如下:函数开始添加记录时给出提示信息,等待用户确认 S = MsgBox(&您确定要增加记录吗?&, 36, &提示&) If (S && 6 即用户选择的是取消按钮) Then 退出函数 End If If (系名对应的文本框为空) Then MsgBox(&系名不能为空!&) 退出函数 End If If (系主任对应的文本框为空) Then ................ ElseIf ( S = 6 即用户选择的是确定按钮) Then 利用count()函数来返回所有记录的个数 然后让个数加1作为下一个记录的编号 i = Me.BindingContext(DataSet1, &系别信息&).Count + 1 新建一个表示内存中数据的一个表tmptable tmptable = DataSet1.Tables(&系别信息&) 打开连接 OleDbConnection1.Open() 构造插入语 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(&insert into 系别信 息 (系编号,系名,系主任) values('& & i & &','& & TextName.Text & &','& & TextMan.Text & &')&, OleDbConnection1) 异常处理 Try tmpcommand.ExecuteNonQuery() Catch fillException As System.Exception MsgBox(&获得错误信息:& & fillException.Message) End Try 将数据集中的记录清空 DataSet1.Clear() 将更改后的所有记录在填入数据集 OleDbDataAdapter1.Fill(DataSet1, &系别信息&) 关闭连接 OleDbConnection1.Close() 添加成功后弹出MsgBox提示用户已完成 MsgBox(&添加记录成功!&, MsgBoxStyle.OkOnly, &提示&) End If 函数结束(b) 下面以课程管理模块中修改课程来说明是如何修改记录的,说明如下:函数开始修改记录时给出提示信息,等待用户确认 If (S && 6 即用户选择的是取消按钮) Then 退出函数 End If If (课程名对应的文本框为空) Then MsgBox(&课程名不能为空!&) 退出函数 End If If (任课老师对应的文本框为空) Then ............... ElseIf ( S = 6 即用户选择的是确定按钮) Then 新建一个表示内存中数据的一个表tmptable tmptable = DataSet1.Tables(&课程信息&) 打开连接 构造更新语句,来完成对数据的修改操作 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(&Update 课程信息 set 课 程编号='& & TextID.Text & &',课程名='& & TextName.Text & &',任课老师='& & TextTeacher.Text & &',课程学分='& & TextPoint.Text & &',开课院系='& & ComDepart.Text & &',课程简介='& & TextAbout.Text & &' where 课程编号='& & TextID.Text & &'&, OleDbConnection1) 异常处理 清空DataSet对象并重新赋值 关闭连接 MsgBox(&您的修改以被受理,更新成功!&, MsgBoxStyle.OkOnly, &提示&) End If 函数结束(c) 下面以学生管理模块中删除学生资料来说明是如何删除记录,说明如下:函数开始删除记录时给出提示信息,等待用户确认 S = MsgBox(&您确定要删除记录吗?&, 36, &提示&) If (S = 6 即用户选择了确定按钮) Then 新建一个表示内存中数据的一个表tmptable tmptable = DataSet1.Tables(&学生信息&) 打开连接 构造删除语句,来完成对数据的删除操作 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(&delete from 学生信息 where 学生编号='& & TextID.Text & &'&, OleDbConnection1) 异常处理 清空DataSet对象并重新赋值 关闭连接 MsgBox(&记录已经成功删除!&, MsgBoxStyle.OkOnly, &提示&) End If 函数结束(3)信息查询模块的功能设计 查询模块主要包括学生资料查询和学生资料查询两个子模块。而且查询时会给出相应的信 息来告诉用户如何来做,什么不能为空,查询成功时也会给出相应的提示信息 (a)学生资料查询是一种模糊查询,可以根据给出部分信息进行查询,说明如下:函数开始If (所有的可输入条件的文本框的内容都为空) 则弹出提示的Msgbox,告诉用户条件不能都为空 MsgBox(&请选择一种查询条件!不能都为空!&) Else 新建一个表示内存中数据的一个表tmptable 打开连接 tmptable = DataSet5.Tables(&学生信息&) 构造查询语句,选择出满足条件的记录 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(&select * from 学生信息 where 学生编号 LIKE '%& & Textid.Text & &%'AND 学生姓名 LIKE '%& & Textname.Text & &%'AND 学生性别 LIKE '%& & Textsex.Text & &%'AND 年龄 LIKE'%& & Textage.Text & &%'AND 身份证号 LIKE '%& & Textcard.Text & &%'AND 所在系 LIKE '%& & TextDepartment.Text & &%'&, OleDbConnection1) 执行SQL语句并返回受影响的行数 tmpcommand.ExecuteNonQuery() 将查询对话框中的所有文本框的内容都置空 清空DataSet对象并重新赋值 DataSet5.Clear() OleDbDataAdapter1.SelectCommand = tmpcommand OleDbDataAdapter1.Fill(DataSet5) 关闭连接 MsgBox(&查询成功!&, MsgBoxStyle.OkOnly, &提示&) End If 函数结束(b)学生成绩查询是选择条件进行查询,说明如下:Private Sub BtQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtQuery.Click 函数开始If (依据对应的组合框的内容为空) Then ............. Else 新建一个表示内存中数据的一个表tmptable 打开连接 tmptable = DataSet6.Tables(&成绩信息&) 构造查询语句,查询出满足条件的记录 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(&select * from 成绩信息 where & & ComboBox1.Text & ComboBox2.Text & &'& & TextBox1.Text & &'&, OleDbConnection1) tmpcommand.ExecuteNonQuery() 清空DataSet对象并重新赋值 关闭连接 MsgBox(&查询成功!&, MsgBoxStyle.OkOnly, &提示&) End If 函数结束(4)修改密码功能模块设计本模块利用了两个函数来查询输入的用户名是否存在和查询用户名对应的密码与用户 输入的密码是否一致。这里就把那两个函数的代码省略了。函数开始修改密码时给出提示信息 利用自定义的两个函数checkpassword()和checkUserID()来判断密码与用户编号不对应或者 用户编号不存在 MsgBox(&密码与用户编号不对应或者用户编号不存在&) TextUsername.Focus() If (两次输入的密码不一致 )then MsgBox(&两次输入的密码不一致!请重新输入!&, MsgBoxStyle.Exclamation, &密码不一致&) 新建一个表示内存中数据的一个表tmptable 打开连接 构造更新语句,来修改满足条件的记录 异常处理 清空DataSet对象并重新赋值 关闭连接 MsgBox(&你的密码修改成功!&, MsgBoxStyle.OkOnly, &提示&) End If 函数结束四.调试分析上机过程中出现的问题及其解决方案。4.1 上机过程中出现的问题及其解决方案。问题一:再添加或修改记录时,当把原来的记录修改时,即使取消了添加与修改操作,虽然 数据库中的数据没有改变,但是当前数据集中显示的记录会发生改变。解决方案添加一个刷新的功能, 使数据集中的数据重新被填充, 可以避免类似错误的产生。问题二:在编写登录窗体的时候,当代码没有任何错误时,运行时,输入用户名跟密码后, 仍然显示“用户名与密码不匹配,请重新输入” 。解决方案:经过查阅资料后发现,用早 Windows 登录窗体中的数据类型必须是文本类型才 可以,其余的类型都不会显示正确的输入。问题三:再添加 Timer 控件时,编写的代码正确时,仍然不显示时间,也不控制一行字的 滚动,没有起到作用 解决方案:原来时 Timer 的一个属性,我们必须把它设为 TRUE,上面的问题就解决了。4.2 系统在开发环境下实现的功能以及结果此系统是在系统平台:Windows xp,数据库服务器:Microsoft SQL Server 2000,开发工 具:Visual Studio 2008 的环境下开发的,实现了教务管理系统的基本操作。(1)系统实现了对不同用户权限的用户提供了不同功能的操作,结果是对于用户权限为 “管理员”的用户能够使用系统所有的功能,而对于用户权限为“用户”的用户, 仅能完成其中的一部分功能,不能对院系信息、课程信息、成绩信息和用户信息进 行添加、 修改和删除操作。只能对成绩资料进行查询和修改密码以及查阅帮助信息。(2)本系统实现了对院系资料的添加、修改和删除操作;实现了对课程资料的添加、修 改和删除操作;实现了对学生资料的添加、修改和删除操作以外,还能对学生资料 进行不同方式的查询;实现了的对学生成绩资料的添加、修改和删除操作以外,还 能够根据不同的条件对学生成绩资料进行查询。(3)本系统实现了对用户资料的添加和删除操作,用户能够修改密码,完善了系统功能。五.用户手册(1)运行程序后,首先出现登录界面,用户根据提示输入用户名和密码,点击确定后进入主界 面,如图 1 所示图 1 登录窗口 输入用户名 admin,密码 admin,选择用户权限为管理员(管理员可以使用系统所有功能,所 以进入的主界面中所有菜单选项都是可用的),点击确定按钮。如果输入错误的用户名、密 码或权限,系统就会给出错误的提示信息,如图 2 所示:图 2:登录时输入错误的警告 (2)输入正确的用户名、密码和用户权限后,通过身份验证之后,进入系统的主界面,如图 3 所示。其中系统菜单中包括修改密码和退出登录两个子菜单,系统用户管理菜单中包括用户 管理子菜单,教务信息管理菜单中包括系别管理、课程管理、学籍管理和成绩管理四个子菜 单,教务信息查询菜单中包括学生资料查询和学生成绩查询两个子菜单,帮助菜单中包括关 于系统和关于用户两个子菜单。图 3 主界面 (3)选择“系统”-&“修改密码”命令,将弹出“修改密码”窗体,如图 4 所示,填写数据后, 单击确定按钮就会完成密码的修改操作。但是当输入的用户名为空或者用户名与原密码不匹 配,或者用户名不存在以及两次输入的密码不一致时都会给出相应的信息来提示和警告用 户,如图 5 所示。图 4:修改密码图 5警告和提示信息 (4)选择“系统用户管理”-&“用户管理”命令,将弹出“用户管理”窗体,如图 6 所示,当你点击记录集中的记录时,相应的数据就会在左侧显示,而且当你输入的用户名或密码及 权限为空时,系统会给出相应的提示信息。如图 6 所示:图 6:有关的提示信息 (5)选择“教务信息管理”-&“课程管理”命令,将弹出“课程管理”窗体,如图 7 所示, 图 7:课程管理界面 当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。有关提示信息 如图 8 所示:图 8:相关提示信息 (6)选择“教务信息管理”-&“学籍管理”命令,将弹出“学籍管理”窗体,如图 9 所示,图 9:学籍管理界面 当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。有关提示信息 如图 10 所示:图 10:相关提示信息 (6)选择“教务信息管理”-&“系别管理”命令,将弹出“系别管理”窗体,如图 11 所示, 图 11:系别管理界面 当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。有关提示信息 如图 12 所示:图 12:相关提示信息 (7)选择“教务信息管理”-&“成绩管理”命令,将弹出“成绩管理”窗体,如图 13 所示,图 13:成绩管理界面 当退出界面时,系统会给出提示信息,如图 14 所示:图 14:退出界面提示 前面的那些提示信息对这几个功能模块都是一样的,这里就不一一演示,只是取其中一个进 行演示。(8)选择“教务信息查询”-&“成绩查询”命令,将弹出“学生成绩查询”窗体,如图 15 所示 图 15:学生成绩查询界面 查询时应当选择查询条件,不然就会给出提示,查询成功时也会给出相应的提示,如图 16 所示图 16:相关提示信息 (9)选择“教务信息查询”-&“学生资料查询”命令,将弹出“学生资料查询”窗体,如图 17 所示,图 17:学生资料查询界面 当没有填写任何一种条件时,就会给出提示,如图 18 所示:图 18:相关提示 (10)选择“帮助”-&“关于系统”命令,将弹出“关于系统”窗体,如图 19 所示,图 19:关于系统 (11)选择“帮助”-&“关于作者”命令,将弹出“关于作者”窗体,如图 20 所示,图 20:关于作者 (12)选择“系统”-&“退出登录”命令,将弹出提示信息,如图 21 所示,图 21:退出系统提示六.总结程序中可以改进的地方说明。6.1 程序中可以改进的地方说明。(a)在用户登录的时候如果连续三次用户名或密码错误,系统就会自动退出,但是并没有把 此用户锁定,这点会带来一定得安全隐患,所以为了增强系统的安全性,如果连续三次 输入错误,就应该把此用户给锁定住,只有它与管理员联系后,完成解锁后方可继续使 用。(b)在网络功能上没有提供很好的接口和支持,基本上术语单机版状态 (c)本系统的数据库一旦被更改,就是永久性的,所以为了避免一些问题的发生,应该适时 的进行数据库备份。所以可以在系统中添加备份数据库的功能,这样就可以及时备份数 据库,当数据库遭到破坏的时候,可以还原数据库。程序中可以扩充的功能及设计实现构想。6.2 程序中可以扩充的功能及设计实现构想。(a)可以在学生资料中添加照片这一属性,为每一位学生设置一张图片,当浏览每一位学生 的记录时,都能看到这位学生的照片。(b)可以在学生资料中增加出生年月这一属性,利用相关控件,当输入、修改日期数据时, 都会弹出一个框供选择。(c)增加模块,用来实现资料的管理,使教务管理系统更加完整。(d)可以在系统中添加备份数据库的功能,这样就可以及时备份数据库,当数据库遭到破坏 的时候,可以还原数据库。6.3 我的通过这两周的课程设计,我学到了很多从书本上学不到的知识。在此次课程设计中,我 对这门课有了更加深刻的认识,把所学的理论知识和实践联系起来。在做这次课程设计 之前,我对它了解的很少,也从来没想到我能完成这么一个程序。但是经过两周的时间, 我终于弄出了一个完整的程序。在这次课程设计中,我觉得我最大的收获就是学会了为了做出这个程序,我该如何去寻 找有用的资料,在短时期内学到尽量多而且有用的知识和本领。这两周的时间里,我从 原来的模糊认识,到现在编出这个程序,中间也遇到了很多困难和挫折。在程序的编写 过程中,也出现了很多错误,经过我认真修改,查阅资料,向老师和同学们请教,终于 把那些错误都改正过来,最终使程序能够正确的运行。所以说,这次课程设计不仅是让我学到了一门面向对象的编程方法,更重要的是它提高 了我接受新事物的能力,让我以后遇到新事物时,不再感到茫然,感到无从下手。当下 次我接触到新知识时,我会知道我该做些什么,该去看那些书籍资料,心中就会有一个 明确的目的。
【数据库工作总结范文】广西大学 2014数据库原理实验报告学 姓号: 名:罗金雄专业班级:计网 121 班 指导老师:顾平 成 绩: 实验一 SQL Server 的安装及环境介绍实验目的1. 掌握 SQL Server 服务器的安装方法(安装版本为 SQL Server 2012) 。2. 了解 SQL Server 服务器的环境实验要求1. 完成 SQL Server 的安装、启动。实验内容安装 SQL Server。实验步骤(1)下载 SQL Server2012 集成包并解压,运行后出现“SQL Server 安装中心” 。在左侧 的目录树中选择“安装” 。(2)在右侧的选择项中,选择第 1 项目“全新安装或向现有安装添加功能” ,然后就进 入了安装程序。(3)输入产口密钥,许可条款,安装程序支持文件。(4)接下来,才是正式安装 SQL Server 程序。这个步骤看起来跟刚才在准备过程中的 一样,都是扫描本机,防止在安装过程中出现异常。现在并不是在重复刚才的步骤,从下图 明显看出这次扫描的精度更细,扫描的内容也更多。(5)功能选择。勾选全部的安装组件,方便以后使用。 (6)实例配置。我们这里安装一个默认实例。(7)服务账户配置。(8)数据库引擎配置。(9)之后的配置无需改动,一路下一步即可,等待安装成功。 请你练习1.如果在安装时设置身份验证模式为混合模式,那 SQL Server 默认生 成的系统管理员账户名是? 答:系统管理员账户名 sa2.SQL Server 2008 中有哪几种身份验证模式? 答:Windows 身份、SQlServer 和 Windows 身份验证模式3.什么是实例、 默认实例和命名实例?在一台计算机上是否可以安装多个实 例?答:“实例”,就是一个 SQL Server 数据库引擎。一台计算机上最多只有一个默认 实例,也可以没有默认实例,默认实例名与计算机名相同。“命名实例”就是自己使用 这自己命名的事例。客户端连接命名实例时,必须使用以下计算机名称与命名实例的实 例名组合的格式。SQL Server 支持在同一台计算机上同时运行多个 SQL Server 数据 库引擎实例。分析与讨论1、程序运行出错,登录用户‘sa’无法连接数据库 解决方案:打开数据库企业管理器--展开 sqlserver 组--右键(local)数据库 属性 ---安全性---身份验证 选 sqlserver 和 Windows 身份验证模式 ---确定 2、数据库选择的是默认位置,要改变路径,右键――属性――数据库设置,填写路径保存 即可。实验二 SQL Server 常用管理工具和使用实验目的1. 2. 3. 理解服务的概念,掌握 SQL Server 服务的启动、暂停和停止。熟悉 SQL Server 配置管理工具的使用,掌握使用管理工具查看数据库信息的方法。掌握帮助文档的使用实验要求1. 使用多种方法启动、暂停和停止 SQL Server 服务。2. 使用管理工具查看当前数据库信息。实验内容1. 启动、暂停和停止 SQL Server 服务。2. 查看帮助文档实验步骤与结果实验步骤 (1)依次”计算机”――“管理”――“服务和应用进程”――“服务” ,打开服务项 (2)找到一项名为“SQL Server (MSSQLSERVER)”的服务,查看其描述和状态。(3)停止该服务。(4)启动该服务。(5)暂停该服务。(6)恢复该服务。 (7)在 SQL Server 配置管理器中尝试重复上述操作。(8)在 SQL Server 配置管理器中还可以查看到 SQL Server 服务占用的端口和本机 IP 地 址。点击左侧“MSSQLSERVER 的协议”选择“TCP/IP”,然后选择 IP 地址选项卡。可以看到 端口号。(9)使用命令 NET 管理 MSSQLSERVER 服务。停止服务。命令:NET STOP MSSQLSERVER (10)启动服务。命令:NET START MSSQLSERVER (11)暂停服务。命令:NET PAUSE MSSQLSERVER (12)重新开启服务。命令:NET CONTINUE MSSQLSERVER (9)~(12)截图如下: 请你练习1. 上网查找在 osql 命令的作用和使用方法, 并使用该命令登录 SQL Server 查看版本。OSQL ―?命令可查看 osql 命令的用法*通过命令可知该数据库版本为 SQL 2012 上图列举了 OSQL 的一些常用命令。11.0 NT x64 分析与讨论:SQL server 的应用进程我服务会有多个,尤其是服务,停止或暂停了某些应用 进程和服务,都可能是数据库无法正常的使用,所以不要停止相关进程和服务。实验三 创建数据库实验目的1. 掌握在图形界面下创建数据库的方法。2. 掌握使用 SQL 语句创建数据库的方法。3. 熟悉 SQL Server Management Studio 的环境。实验要求1. 熟练使用两种方法创建数据库。实验内容创建数据库。实验步骤和结果:(路径选择本机系统默认的路径)(1)明确需求。(2)使用向导创建上诉描述的数据库。(3)单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。(4)在“数据库”节点上右击,弹出如下图所示的快捷菜单,选择“新建数据库”命令。(5)在“常规”数据页的“数据库名称”文本框中,输入要创建的数据库名称和其他属性 信息。(6)单击“确定” 。数据库建立成功。(7)使用 T-SQL 语言创建数据库。需求:使用查询分析器新建一个数据库,名称为“LIB” , 其主要数据文件大小为 4M, 最大文件大小为 10M, 每次增长 2M; 次要数据文件大小为 1M; 日志文件大小为 1M;三个文件的文件名自定,上述没有说明的选项都采用默认值。(8)点击“新建查询” ,键入 SQL 语句。CREATE DATABASE LIB ON ( NAME = bdata1, FILENAME =’C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA \bdata3.mdf', SIZE = 2, MAXSIZE = 10, FILEGROWTH = 2 ), ( NAME = bdata2, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA \bdata4.ndf', SIZE = 1 ) LOG ON ( NAME = blog, FILENAME =’ C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA \blog.ldf', SIZE = 1 ) (9)点击“执行”执行以上代码后发现以下问题CREATE DATABASE 语句失败。主文件必须至少是 5 MB 才能容纳 model 数据库的副本。 将主文件大小改为 5M 后,再执行,提示命令功能执行成功请你练习 1. 熟悉 SQL 语言建库的语法。2. 创建一个 test 数据库,其主数据文件逻辑名 test_data,物理文件名 test_data.mdf,初始 大小 10MB,最大尺寸为无限大,增长速度 1MB;数据库日志文件逻辑名称为 test_log, 物理文件名为 test_log.ldf,初始大小为 1MB,最大尺寸为 5MB,增长速度为 10%。 3. 自行查找删除数据库 T-SQL 语句。删除语句为:drop database text,其中text为数据库的名称分析与讨论:1、题目中要求数据库主文件的初始大小位4, 运行后出现问题CREATE DATABASE 语句失败。主文件必须至少是 5 MB 才能容纳 model 数据库的副本。所以要把主文件的厨师大小改为5MB,其他条件 可以不变,即可执行成功。2、因为数据库的路径选择的是安装的默认路径,所以对练习中文件的路径也要做相应的改变,即 要修改为本数据库默认的路径。否则无法创建数据库成功。实验四 管理数据库实验目的1. 2. 3. 4. 进一步熟练企业管理器和查询分析器的使用。掌握附加和分离数据库的方法。熟悉数据库的更名。掌握数据库的删除。实验要求1. 2. 使用 T-SQL 语句创建和修改数据库。掌握其他常用的数据库管理操作。实验内容1. 使用 T-SQL 语句修改数据库。其他数据库管理操作。 实验目的5. 6. 7. 8. 进一步熟练企业管理器和查询分析器的使用。掌握附加和分离数据库的方法。熟悉数据库的更名。掌握数据库的删除。实验要求3. 4. 使用 T-SQL 语句创建和修改数据库。掌握其他常用的数据库管理操作。实验内容1 使用 T-SQL 语句修改数据库。2. 其他数据库管理操作。实验步骤建库需求。创建一个名为“Test”数据库。主要数据文件:逻辑文 件名为 TestData1, 实际文件名为 TestData1.mdf; 初始容量为 5MB, 最大容量为 10MB ,递增量为 1MB。次要数据文件:逻辑文件名为 TestData2,实际文件名为 TestData2.ndf;初始容量为 1MB,最大 容量为 10MB, 递增量为 1MB。事务日志文件逻辑文件名为 TestLog, 实际文件名为 TestLog.ldf;初始容量为 1MB,最大容量为 5MB,递 增量为 1MB。(2) 修改需求。按照下面的要求修改数据库 Test。主要数据文件的容量 为 2MB,最大容量为 20MB,递增量为 2MB。次要数据文件的容量为 2MB, 最大容量为 20MB, 递增量为 2MB。事务日志文件的容量为 2MB, 最大容量为 10MB,递增量为 2MB。(3)启动“企业管理器” ,在控制面板的“树形目录”中选择“数据库”节 点,单击鼠标右键,在弹出菜单中选择“新建数据库”命令,出现 “数据库属 性”对话框。(4)设置常规选项卡:在“名称”文本框中输入数据库名称“Test” ; ( 5 )设置数据文件选项卡:在文件名字段中输入数据文件逻辑文件名 “TestData1” ;设置该文件初始大小为 1MB;标记“文件属性”栏下的“文件自 动增长” 复选框,并选中“按兆字节”设置文件容量递增值为 1。在“最大文 件大小”对话框中选择“将文件增长限制为(MB)”为 10。同样,在第二行输入 次要数据文件信息,并进行相应设置。设置事务日志选项卡:在文件名字段中输 入数据文件逻辑文件名“TestLog” ;设置该文件初始大小为 1MB,标记“文件属 性”栏下的“文件自动增长”复选框,并选中“按兆字节”设置文件容量递增值 为 1;在“最大文件大小”对话框中,选择“将文件增长限制为(MB)”为 5。(1) (6)单击“确定”按钮,完成数据库的创建。(7)在“树状目录窗格”中,选择新建的数据库“Test” ,单击鼠标右键, 在弹出菜单中选择“属性”命令,打开数据库属性窗口; (8)选择数据文件选项卡,在其中将主要数据文件和次要数据文件的容量 改为 2MB,最大容量改为 20MB,递增量改为 2MB。(9)选择事务日志选项卡,在其中将事务日志文件的容量改为 2MB,最大 容量改为 10,递增量改为 2。(10)使用 Transact-SQL 语句创建和修改数据库。(11)修改数据库 (12)点击“执行” ,执行修改。(13)在“树状目录窗格”中,选择新建的数据库“Test” ,单击鼠标右键,在 弹出菜单中选择“属性”命令,打开数据库属性窗口,查看更新是否已执行。(14)重命名数据库。选择数据库“Test” ,单击鼠标右键,在弹出菜单中选择 “重命名”命令 (15)分离数据库。(16)分离数据库准备就绪后,请单击“确定” 。(17)右键单击“数据库” ,然后单击“附加” (18)单击“确定” ,附加数据库。(19)删除数据库。选择数据库“Test” ,单击鼠标右键,在弹出菜单中选择“删 除”命令。然后在弹出的窗口中勾选“关闭现有连接”请你练习1. 认真完成本节数据库管理的相关练习,自己制定需求,然后按“建立-修改-重命名-分离 -附加-删除”顺序操作。建立: 修改:ALTER DATABASE Test MODIFY FILE (NAME=TestData1, SIZE=7, MAXSIZE=20, FILEGROWTH=2) GO ALTER DATABASE Test MODIFY FILE (NAME=TestData2, SIZE=7, MAXSIZE=20, FILEGROWTH=2) GO ALTER DATABASE Test MODIFY FILE (NAME = TestLog, SIZE=3, MAXSIZE=10, FILEGROWTH=2) GO重命名:分离 :附加: 删除:2.查询“分离”和“附加”操作的 T-SQL 命令分别是什么? 分离:EXEC sp_detach_db DatabaseName 附加:CREATE DATABASE databasename ON (FILENAME = 'C:\Database\dbname.mdf') ----路径和名称 FOR ATTACH | FOR ATTACH_REBUILD_LOG分析与讨论:1、在 64 位和 32 位环境中,SQL Server 磁盘存储格式均相同。因此,可以将 32 位 环境中的数据库附加到 64 位环境中,反之亦然。从运行在某个环境中的服务器实例上分离的 数据库可以附加到运行在另一个环境中的服务器实例。 2、分离数据库是指将数据库从 SQL Server 实例中删除,但使数据库在其数据文件和事务日志 文件中保持不变。之后,就可以使用这些文件将数据库附加到任何 SQL Server 实例,包括分 离该数据库的服务器。如果存在下列任何情况,则不能分离数据库已复制并发布数据库。如果进行复制,则数据库必须是未发布的。必须通过运行 sp_replicationdboption 禁用发布后,才能分离数据库 3、附加数据库时,所有数据文件(MDF 文件和 NDF 文件)都必须可用。如果任何数据文件 的路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径。 实验五 表的创建实验目的1. 熟练掌握用 Transact-SQL 语句创建基本表的方法。2. 熟练掌握基本表的特性。3. 了解 SQL Server 的基本数据类型。4. 使用 SSMS 管理平台创建基本表。实验要求1. 2. 熟练使用企业管理器创建和删除基本表。是用查询分析器,完成用 SQL 语句创建和删除基本表。实验内容创建、删除基本表。实验步骤(1)打开企业管理器。(2)选择一个创建好的数据库 test,单击数据库中的表对象,然后右击窗口右侧选择新建 表 (3)在这个窗体中,列名列表示表的字段名,可以在这个窗体中为字段选择数据类型和长 度以及是否可以为空值。(4)在“id”数据项上设置主键。右键单击该数据项选择“设置主键”(5)设置自动增长后,插入输入时可以不填主键,主键可以自动生成(6)填完正在创建表的其他信息,单击工具栏上的保存图标,输入表的名称 (7)输入表的名称后,单击确定系统会创建表 (8)在查询分析器中利用 SQL 语句创建表。点击“新建查询” 。(9)在查询窗体中输入创建表的 T-SQL 语句。(10)单击工具栏上的图标按钮,执行分析查询,以检查输入的 SQL 语句是否存在语法错 误。(11)创建一个更为复杂的学生表,引入 SQL Server 创建表的更多特性 (12)在查询窗体中输入 T-SQL 语句请你练习 1.建表练习,按下列要求通过 SSMS 创建表。属性列 st_id st_nm st_sex st_birth数据类型 nVarChar nVarChar nVarChar datetime长度 9 8 2空值 Not Null Not Null Null Null列约束 PK说明 学生学号 学生姓名 学生性别 出生日期 st_score st_date st_from st_dpid st_mntint datetime nChar nVarChar tinyint20 2Null Null Null Null Null入学成绩 入学日期 学生来源 所在系编号 学生职务2. 建表练习,按下列要求通过 T-SQL 语句创建表。属性列 数据类型 cs_id nVarChar cs_nm nVarChar cs_tm int cs_sc int 创建上表的 T―SQL 语句为:长度 4 20空值 Not Null Not Null Null Null列约束 PK说明 课程编号 课程名称 课程学时 课程学分IF OBJECT_ID('class') IS NOT NULL DROP TABLE class GO CREATE TABLE class ( cs_id nVarChar(4) PRIMARY KEY, cs_nm nVarChar(20) Not Null, cs_tm int, cs_sc int, ) ON [PRIMARY] GO exec sp_addextendedproperty N'dbo', N'table', N'class', exec sp_addextendedproperty N'dbo', N'table', N'class', exec sp_addextendedproperty N'dbo', N'table', N'class', exec sp_addextendedproperty N'dbo', N'table', N'class',GON'MS_Description', N'课程编号', N'column', N'cs_id' N'MS_Description', N'课程名称', N'column', N'cs_nm' N'MS_Description', N'课程学时', N'column', N'cs_tm' N'MS_Description', N'课程学分', N'column', N'cs_sc'N'user', N'user', N'user', N'user',3. 建表练习,按下列要求通过 T-SQL 语句创建表。属性列 数据类型 cs_id nVarChar st_id nVarChar score int sltdate datetime 创建上表的 T―SQL 语句为:长度 4 9空值 Not Null Not Null Null Null列约束 FK FK说明 课程编号 学生编号 课程成绩 选课日期IF OBJECT_ID('class_student1') IS NOT NULL DROP TABLE class_student1 GO CREATE TABLE class_student1 ( cs_id nVarChar(4) Not Null FOREIGN KEY references class(cs_id), st_id nVarChar(9) Not Null FOREIGN KEY references student(st_id), score int, sltdate datetime, ) GO exec sp_addextendedproperty N'MS_Description', N'课程编号', N'dbo', N'table', N'class_student1', N'column', N'cs_id' exec sp_addextendedproperty N'MS_Description', N'学生编号', N'dbo', N'table', N'class_student1', N'column', N'st_id' exec sp_addextendedproperty N'MS_Description', N'课程成绩', N'dbo', N'table', N'class_student1', N'column', N'score' exec sp_addextendedproperty N'MS_Description', N'选课日期', N'dbo', N'table', N'class_student1', N'column', N'sltdate' N'user', N'user', N'user', N'user', GO执行以上代码后,课得到下表:分析与讨论:使用外键链接时,列的数据类型和数据长度必须要一样实验六 表的维护实验目的 1. 熟练掌握使用T-SQL语句对表的结构进行修改。2. 熟练掌握使用SSMS管理工具删除表、重命名表。3. 熟练掌握使用T-SQL语句删除表、重命名表。实验要求1. 了解常用的修改表定义语句。2. 完成已经创建成功的表上的修改表定义的操作。实验内容修改表定义练习。实验步骤 (1) 右键点击所要修改的学生表,选择“设计表” 。在空白处点右键,选择“属性” , 弹出另一窗体,在此可以更改约束,也可以增加约束 (2) 利用 Transact-SQL 语句修改表。使用上一节最后完成的 Student 表。先做好准 备,通过 SSMS 删除 Sage 上的 check 约束,Ssex 上的 check 约束,sno 上的主键 约束。(3) 修改Sage列,允许空值,类型为smallint。添加一列列名为Sdept,类型为 varchar(20)。use Test alter table Student add Sage smallint not null go alter table Student add Sdept varchar(20)(4) 更改表以删除列 (5)修改表的列以增加约束。(6)查看 Student 表上添加的约束。exec sp_helpconstraint student0 由于执行了很多次,所以结果有多个。(7)修改表的列以删除约束。(8)修改列的属性。将Student表中的Sname长度改为20。use Test go alter table student0 alter column sname char(20) (9)将 Student 表重新命名成 Stu。use TEST go Sp_rename 'student0','stu'(10)将stu表的列Sname重命名为T-Sname。use TEST go Sp_rename 'stu,Sname','T-Sname','column'请你练习1. 为“stu”表添加“dp_count”列(数据类型为 nvarchar,长度为 3,允许为空) 。use TEST alter table stu add dp_count nvarchar(3) 2. 修改“stu”表的“dp_count”列数据类型为 int。use TEST alter table stu alter column dp_count int3. 删除“stu”表的“dp_count”列。use TEST alter table stu drop column dp_count4.删除表“stu” 。 分析与讨论:在对表进行修改操作时,应先将各列的约束清除,否则无法进行修改。实验七 数据查询初步实验目的1. 2. 3. 掌握常规的 select 语句的使用方法。掌握其他数据操纵语句的使用。熟练通过 SQL 语句导入数据实验要求1. 2. 掌握简单 select 语句使用方法。熟悉关系型数据库查询的基本。实验内容1. Select 语句简单查询。2. T-SQL 数据操纵语句。实验步骤1、使用 insert 语句向数据库中插入数据 2、打开企业管理器,右键点击 stu 表,选择“选择前 1000 行3、update 语句可以用来更新行。use TEST UPDATE stu SET Sbir = '' ,Sage = 25 WHERE Sname = 'gxustu' GO(4)delete 语句。delete 语句用于删除数据行。(5)创建表。新建查询,使用 SQL 语句导入数据。(6)查询 EMP 表中的全部信息。select * from [Test].[dbo].[EMP]; (7)查询 EMP 表中的 EMPNO、ENAME、SAL 三列,并将名称显示为职工号、姓名、工资。select EMPNO 职工号,ENAME 姓名,SAL 工资 from [Test].[dbo].[EMP]; (8)查询 EMP 表中的 ENAME、DEPTNO、JOB、SAL 四列,并将名称显示为姓名、号、 工作、工资,并使用 SAL 为依据排序。select ENAME 姓名,DEPTNO 部门号,Job 工作,SAL 工资 from [Test].[dbo].[EMP] ORDER BY SAL; 请你练习 1. 查找 insert、delete、update 语句的格式,练习使用。插入:INSERT INTO [数据库名].[dbo].[表名] ([列 1] ,[列 2] ,[列 3]) VALUES (值 1 ,值 2 ,值 3) GO 删除:DELETE FROM [数据库名].[dbo].[表名] WHERE 列名 = '列值 GO 更新:use 数据库名 UPDATE 表名 SET Sbir = '' ,Sage = 25 WHERE Sname = 'gxustu' GO 2、按下图显示的表定义,通过SSMS建表。写出插入这些数据的SQL语句。建表语句为:use TEST create table JOB( job_id smallint primary key, job_desc varchar(50), min_v tinyint, max_v tinyint)T_SQL 语句为:insert into JOB values(1,'New Hire.Job not specified',10,10); insert into JOB values(2,'Chief Executive',200,250); insert into JOB values(3,'Business Operations Manager',175,225); insert into JOB values(4,'Chief Financial Offical',175,250); insert into JOB values(5,'Publisher',150,250); insert into JOB values(6,'Manager Editer',140,225); insert into JOB values(7,'Maketing Manager',120,200); insert into JOB values(8,'Public Relations Manager',100,175); insert into JOB values(9,'Acquisitions Manager',75,175); insert into JOB values(10,'Productions Manager',75,165); insert into JOB values(11,'Operations Manager',75,150); insert into JOB values(12,'Editor',25,100); insert into JOB values(13,'Sales Representative',25,100); insert into JOB values(14,'Designer',25,100);分析与讨论:有两种情况UPDATE不会对影响表中的数据。1. 当WHERE中的条件在表中没有记录和它匹配时。2. 当我们将同样的值赋给某个字段时,如将字段abc赋为'123',而abc的原值就是'123'。 实验八 数据查询巩固实验目的1. 2. 3. 巩固上节数据查询操作。分组、排序查询。了解示例数据库 Northwind 结构实验要求1. 2. 熟练掌握各种数据查询方法。掌握关系型数据库查询的基本思想。实验内容1. 数据查询练习。附加Northwind数据库,了解其结构。实验步骤(1) 从EMP数据库中查出有多少种不同的工作,列名为“工作” 。select distinct JOB 工作 from [Test].[dbo].[EMP] (2)从EMP数据库中查出“DEPTNO”等于30的所有人员信息。select * from [Test].[dbo].[EMP] where DEPTNO=30(3)查出所有办事员的姓名、职工号、所属部门。select ENAME 姓名,EMPNO 职工号,DNAME 部门 from [Test].[dbo].[EMP],[Test].[dbo].[DEPT] where JOB='办事员' (4)查出部门号为30,薪水大于100的员工信息。select * from [Test].[dbo].[EMP] where DEPTNO=30 and SAL&=100(5)查出所在部门号为10,职位不是办事员又不是部门经理的所有人。select * from [Test].[dbo].[EMP] where DEPTNO=10 and JOB!='办事员' and JOB!='部门经理' (6)在EMP中选择所有姓王的雇员信息。select * from [Test].[dbo].[EMP] where ENAME like'王%' (7)按部门升序、工资降序输出EMP表。select * from [Test].[dbo].[EMP] where DEPTNO=10 order by SAL desc(8)按部门升序,工资降序输出EMP表。select * from [Test].[dbo].[EMP] where DEPTNO=10 order by SAL desc (9)下面进行Northwind数据库的查询练习。首先要附加数据库。右键单击“数据库”选 择“附加” 。在弹出的对话框中选择添加,选择Northwnd数据库。(10)在 NorthWind 中查询出每个供应商所提供产品的平均价格。select SupplierID,avg(UnitPrice) from [Northwind].[dbo].[Products] group by SupplierID (11)在 NorthWind 中查询得到不同的地区有多少家供应商的信息。select Country,count(*) from [Northwind].[dbo].[Suppliers] group by Country(12)在 NorthWind 中查询显示哪些供应商有传真。select CompanyName,Fax from [Northwind].[dbo].[Suppliers] where fax is not null (13)在 NorthWind 中查询不同产品所订购的总价。select ProductID,sum(Quantity*UnitPrice) from [Northwind].[dbo].[Order Details] group by ProductID order by ProductID (14)在 NorthWind 中查询出生日期在 1940 年至 1960 年之间的雇员信息。select * from [Northwind].[dbo].[Employees] where BirthDate &= '' and BirthDate & ''(15)查询“Northwnd”示例数据库中供应商的 ID、名称、地区、城市和电话字段的 值。条件是“地区等于华北”并且“联系人头衔等于代表” 。Select SupplierID,CompanyName,Address,City from [Northwind].[dbo].[suppliers] where Region='华北' and ContactTitle='销售代表' (16)查询“Northwind”示例数据库中供应商的 ID、公司名称、地区、城市和电话字段的 值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津。Select SupplierID,CompanyName,Region,City,Phone from [Northwind].[dbo].[Suppliers] where Region in ('东北','华南') or City='天津' &找不到符合条件的值& (17)查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的 ID、公司 名称、地区、城市和电话字段的值。Select SupplierID,CompanyName,Region,City,Phone from [Northwind].[dbo].[Suppliers] where Region in ('东北','华南') &找不到符合条件的值&请你练习1. 在 NorthWind 数据库中查询所有产品的信息。SQl语句为:select * from [Northwind].[dbo].[Products]部分截图:2. 查询 NorthWind 中雇员姓名、所在城市及其家庭电话,姓名以格式“姓.名”显示。查询语句为Select LastName,FirstName,City,HomePhone from [Northwind].[dbo].[Employees]3. 在 NorthWind 中查询出单价最贵的前 10 种产品的信息。查询语句为select Top 10 * from [Northwind].[dbo].[Products] order by UnitPrice desc 4. 在 NorthWind 中查询出所有单价超过 50 美元的货物名称、 货物代号及其重量。查询语句为select ProductName,ProductID,QuantityPerUnit from [Northwind].[dbo].[Products] where UnitPrice & 505.在 NorthWind 中查询出职务为销售代表,称呼为小姐的所有职员姓名和生日。Select LastName,FirstName, BirthDate from [Northwind].[dbo].[Employees] where Title='Sales Representative' and TitleOfCourtesy='Ms.'分析与讨论:1、SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号) 。如果是数值,请 不要使用引号。实验九 稍复杂的查询(多表查询、子查询)实验目的1. 掌握 SSMS 查询编辑器的使用方法,加深对 SQL 语言的嵌套查询语句的理解。 2. 3. 4.熟悉基本的连接查询,掌握内连接与外连接查询。掌握相关子查询的使用方法。学会嵌套子查询的使用方法、集合查询。实验要求1. 2. 掌握在实际的数据关系中设计有意义的查询。掌握较复杂的数据查询方法。实验内容数据查询联系。实验步骤 (1)查询唐强的工作所在部门名称和部门所在地。select DNAME,LOCATION from [T].[dbo].[DEPT] where DEPTNO = ( select DEPTNO from [Test].[dbo].[EMP] where ENAME='唐强')(2)在沈阳工作的雇员信息。select * from [Test].[dbo].[EMP] where DEPTNO = ( select DEPTNO from [Test].[dbo].[DEPT] where LOCATION='沈阳')3)找出在沈阳工作的雇员信息及其所在部门信息。select * from [Test].[dbo].[EMP],[Test].[dbo].[DEPT] where DEPT.LOCATION='沈阳' and DEPT.DEPTNO=EMP.DEPTNO (4)找出工资超过经理的职工,列出姓名、工资及其经理的姓名、工资。select first.ENAME 职工,second.ENAME 经理 from [Test].[dbo].[EMP] first,[Test].[dbo].[EMP] second where first.JOB not like'%经理' and second.JOB in ('总经理','部门经理') and first.SAL&second.SAL(5)下面使用 Northwind 数据库进行练习。查询 Boise 和 Albuquerque 的客户在 1996 年订购的所有订单的订单 ID、所订购的产品名称和数量 use Northwind select orders.orderid,productname,quantity,city from [order details] join products on [order details].productid=products.productid join orders on [order details].orderid=orders.orderid join customers on orders.customerid=customers.customerid where city in('Boise' ,'Albuquerque') and OrderDate between '' and '' (6)查询客户的每份订单的订单 ID、产品名称和销售金额 use Northwind select orders.orderid,productname,[order details].unitprice*quantity as 销售金额 from [order details] join products on [order details].productid=products.productid join orders on [order details].orderid=orders.orderid join customers on orders.customerid=customers.customerid(7)按运货商公司名称,统计 1997 年由各个运货商承运的订单的总数量 use Northwind select companyname,count(*) from shippers join orders on shippers.shipperid=orders.shipvia where year(orderdate)=1997 group by companyname (8)找出 1997 年订单 id 为 10400 的订单详情。select * from [order details] join orders on [order details].orderid=orders.orderid where orders.orderid=10400 and year(orderdate)=1997(9)统计各类产品的平均价格 use Northwind select categories.categoryname,avg(unitprice) from products join categories on products.categoryid=categories.categoryid group by categories.categoryname请你练习 以下查询均基于 Northwind 数据库。1. 查询所有运货商的公司名称和电话。查询语句use Northwind select companyname,phone from shippers2.查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔。 查询语句use Northwind select companyname,fax,phone,address,contactname,contacttitle from customers……..3.查询单价介于 10 至 30 元的所有产品的产品 ID、产品名称和库存量。查询语句select productid,productname,unitsinstock from products where unitprice between 10 and 30…….. 4. 查询单价大于 20 元的所有产品的产品名称、单价以及供应商的公司名称、电话。查询语句select productname,unitprice,suppliers.companyname,suppliers.phone from suppliers join products on suppliers.supplierid=products.supplierid where unitprice&205.统计 1997 年的每份订单上所订购的产品的总数量。查询语句: select orders.orderid,sum(quantity) from [order details] join orders on [order details].orderid=orders.orderid where year(orderdate)=1997 and month(orderdate)&=1 and month(orderdate)&=6 group by orders.orderid??? 6. 统计各地区客户的总数量。查询语句select count(*) from customers where region is not null group by region分析与讨论:1、Count(*)返回组中的项数。COUNT 与 COUNT_BIG 函数类似。两个函数唯一的差别 是它们的返回值。COUNT 始终返回 int 数据类型值。COUNT_BIG 始终返回 bigint 数据类 型值。COUNT(ALL expression) 对组中的每一行都计算 expression 并返回非空值的数量。COUNT(DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数 量。2、Jion 相当于将多个表合并得到一个虚拟的表,要注意找到多个表的联系。而对于嵌套 的子查询可以将内层查询作为一个结果,从而产生一个约束条件。 实验十 视图的管理实验目的1. 熟练掌握使用 T-SQL 语句创建视图。2. 熟练使用 SSMS 管理工具创建视图、修改视图。3. 熟练掌握使用 T-SQL 语句删除视图、重命名视图。实验要求1. 掌握在 SQL Server 中视图的创建和删除操作。实验内容视图的创建与删除。实验步骤 (1)首先来看如何使用 SSMS 创建视图。启动 SSMS。(2)在 SSMS 管理平台中,展开指定的服务器,打开要创建的视图的数据库,选择视 图文件夹,右击该视图文件夹,从弹出的快捷菜单中选择“新建视图”选项。接着就出 现添加表、视图、函数对话框。 (3)选择好创建视图所需的表、视图、函数后,通过单击字段左边的复选框选择需要 的字段。单击工具栏中的“保存”按钮,或者单击鼠标右键,从快捷菜单中选择保存选项保 存视图,输入视图名,即可完成视图的创建。(4)现在使用T-SQL语句创建视图。查询订购日期在日至日之间的 订单的订购日期、订单ID、客户ID和雇员ID等字段的值。(5)执行代码。然后再视图节点下,找到创建好的视图。---Create View Orderquery(该视图已经存在,无需创建,直接查询即可) --as Select OrderDate,OrderID,CustomerID,EmployeeID from [Northwind].[dbo].[Orders] where OrderDate Between '' and ''(6)查询“10248”和“10254”号订单的订单 ID、运货商的公司名称、订单上所订购 的产品的名称,首先建立视图。Create view orderquery3 as Select Orders.OrderID,Shippers.CompanyName,ProductName From Orders join Shippers on Shippers.ShipperID=Orders.ShipVia join [Order Details] on [Order Details].OrderID=Orders.OrderID join Products on Products.ProductID=[Order Details].ProductID (7)执行查询,查看结果。Select * from orderquery3 where OrderID =10248 or OrderID=10254(8)查询“10248”和“10254”号订单的订单 ID、订单上所订购的产品的名称、数量、 单价和折扣 Create view orderquery4 as Select Orders.OrderID,ProductName,quantity,Products.unitprice From [Order Details] join Orders on [Order Details].orderid=Orders.orderid join Products on Products.ProductID=[Order Details].ProductID (9)执行查询,查看结果。Select * from orderquery4 where OrderID =10248 or OrderID=10254( 10 )修改视图。在 SSMS 平台中,展开指定的数据库和视图,右击要修改的视图 “orderquery4” ,从弹出的快捷菜单中选择“设计”选项。 (11)在弹出的对话框中,选择好修改视图所需要的表、视图后,通过单击字段左边的 复选框选择需要修改的字段。然后完成保存后退出即完成修改。请你练习1.使用视图完成下列查询。查询“10248”和“10254”号订单的订单 ID、订单上所订购 的产品的名称及其销售金额。(必须使用 join)Create view orderquery6 as Select Orders.OrderID,Products.ProductName,Products.UnitPrice From Orders join [Order Details] on Orders.OrderID=[Order Details].OrderID join Products on [Order Details].ProductID=[Order Details].ProductID Select * from orderquery6 where OrderID =10248 or OrderID=102542. 查询重命名视图的 T-SQL 语句格式,重命名视图。格式:sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] 重命名:Exec sp_rename 'orderquery',' orderqueryA'3. 查询删除视图的 T-SQL 语句格式,删除视图。格式:DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ] 删除:drop view orderquery6分析与讨论:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的 列和行数据。视图在数据库中并不是以数据值存储集形式存在,除非是索引视图。行和列数 据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说, 视图的作用类似于筛选。定义视图的筛选可以来自当前或 其他数据库的一个或多个表, 或者其他视图。分布式查询也可用于定义使用多个异类源数据 的视图。。
【数据库工作总结范文】课程设计报告题目数据库实验上机实验报告专业班级计算机科学与技术 1210 班 学 姓 号名U 候宝峰指导报告日期-06-04计算机科学与技术学院 目录一、基本 SQL 操作(部分选做) .......................................................... 1 1)数据定义 ..................................................................................... 1 2)数据更新 ..................................................................................... 3 3)用 SQL 语句完成下述查询需求.............................................. 4 二、DBMS 综合运用(部分选做) ....................................................... 8 1)学习 sqlserver 的两种完全备份方式:数据和日志文件的脱机 备份、系统的备份功能(选做) 。.................................................. 8 2)学习系统的身份、权限配置操作 .............................................. 9 3)了解 SQLSERVER 的存储过程、触发器、函数实现过程 ......... 14 三、实验总结 ....................................................................................... 17 1)实验问题及解决........................................................................ 17 2)实验 ................................................................................... 18 一、基本 SQL 操作(部分选做)1)数据定义参照下面的内容建立自己实验所需的关系数据创建三个关系商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10) 】 主关键字为(商品名称) 。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20) ,PAREA char(20) 】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办类型】 SALE【GNAME char(20) ,PNAME char(20) ,PRICE FLOAT,ATYPEchar(10) 】 主关键字为(商品名称、商场名称) 。举办活动类型为(送券、打折) ,也可为空值,表示当 前未举办任何活动。表中记录如( ‘哈森皮靴’ , ‘亚贸广场’ ,200, ‘打折’ ) ,同一商场针对 不同的商品可能采取不同的促销活动。create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname));1 图 1 goods 表图 2 plaza 表图 3 sale 表2 2)数据更新(1)向上述表格中用 sql 语句完成增、删、个、改的操作; 增加记录insert into goods(gname,gtype) values(’anta’,’服装’) ; 删除记录delete from goods where gname=’南孚’and gtype=’电池’; 更新记录update goods set gtype=’电器’ where gname=’飞科’; (2)编写一个触发器,并测试该触发器; 当插入一个“anta”货物时不能把它售价低于 350 ,如果低于 350 就修改成 350create trigger [dbo].[Chang_Update_sale] on [dbo].[sale] after insert as if(select count(*)from sale,inserted where sale.gname='anta'and sale.price&350)=1 begin update sale set sale.price=350 where sale.gname='anta'and sale.pname='家乐福' end图 4 触发器执行图 如图,将原有的记录删掉后插入一条新纪录,应该是俩行受影响,由于触发器修改最小 值,则会显示三行受影响,查表知,是触发器有效执行了。(3)将 SALE 表中的打折记录插入到新表 SALE_CHEAP 中,并基于 SALE_CHEAP 表创建一个 统计每个商场各自打折商品平均价格的视图。3 create view SALE_CHEAP as select sale.pname,sale.gname,sale.price from sale where atype='打折'; select pname,avg(price) avg from SALE_CHEAP group by(pname)图 5 视图3)用 SQL 语句完成下述查询需求:(1)查询所有以“打折”方式销售的商品的当前销售情况,并按照价格的降序排列; select GNAME,PNAME,PRICE from sale where ATYPE='打折'图 6 查询 1 2)查询所有没有任何活动的商品及其所在的商场,结果按照商品排序; select GNAME,PNAME from sale where ATYPE is4 图 7 查询 2 3)查询价格在 200~500 元之间的商品名称、所在的商场名称、价格,结果按照商场名称排 序; select GNAME,PNAME,price from sale where price between 200 and 500图 8 查询 3 4)查询每种商品的最低价格、商品名称; select GNAME,min(price) min_price from图 9 查询 4 5)查询以“送券”方式销售的商品总数超过 30 种的商场名称;5 select distinct pNAME from sale where atype='送券' and gname in( select gNAME from sale group by gname having count(*)&30 );图 10 查询 5 6)查询以“送券”方式销售的商品总数超过 30 种的商场所在地区; select pname, PAREA from plaza where pname in( select distinct pNAME from sale where atype='送券' and gname in( select gNAME from sale group by gname having count(*)&30 ));图 11 查询 6 7)查询价格为下列取值之一的商品名称、所在商场名称、目前举办活动的类型, (88、188、 288、388、488、588、888) ; select gname,pname,atype from sale where price in(88,188,288,388,488,588,888);图 12 查询 76 8)查询以“老”字开头的所有商品的名称; select * from goods where gname like '老%'图 13 查询 8 9)查询同时销售“剃须刀”和“电池”的商场名称; select pname from sale where gname='南孚'and pname in (select pname from sale where gname=’飞科');图 14 查询 9 10)查询不举办任何活动的商场; select distinct plaza.pname,PAREA from sale,plaza where atype is null and sale.pname=plaza.图 15 查询 10 11)查询所销售的商品包含了“校园超市”所销售的所有商品的商场名称。select distinct pname from sale where gname in( select gname from sale where pname='家乐福');7 图 16 查询 11二、DBMS 综合运用(部分选做)1) 学习 sqlserver 的两种完全备份方式数据和日志文件的 脱机备份、系统的备份功能(选做) 。利用企业管理器选择工具下的备份数据库还以利用企业管理器设置自动备份等; 直接拷贝数据文件。把数据库的数据文件 (*.mdf) 和日志文件 (*.ldf) 都拷贝到目的服务器, 在 SQL Server Query Analyzer 中用语句进行恢复:RESTORE DATABASE {数据库名 | @数据库名变量 } [ FROM &备份设备& [ ,...n ] ] [ WITH [ RESTRICTED_USER ] [ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ] ] RESTORE LOG {数据库名| @数据库名变量 } [ FROM &备份设备& [ ,...n ] ] [ WITH [ RESTRICTED_USER ] [ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ] ] 使得数据库恢复到备份状态。8 2)学习系统的身份、权限配置操作图 17 sql server 安全性决策 当 SQL Server 2014 在 Windows 上运行时,sysadmin 固定服务器角色成员可以指定下面 两种身份验证模式之一Windows 身份验证模式 只进行 Windows 身份验证。用户不能指定 SQL Server 2014 登录 ID。这是 SQL Server 2014 的 默 认 身 份 验 证 模式 。不 能 为 在 Windows 98 上 运 行 的 SQL Server 实 例 指 定 Windows 身份验证模式,因为此操作系统不支持 Windows 身份验证。当用户通过 Windows NT 4.0 或 Windows 用户帐户进行连接时,SQL Server 通过回叫 Windows NT 4.0 或 Windows 以获得信息,重新验证帐户名和密码。SQL Server 通过使用网络用户的安全特性控制登录访问,以实现与 Windows NT 4.0 或 Windows 的登录安全集成。用户的网络安全特性在网络登录时建立,并通过 Windows 域控 制器进行验证。当网络用户尝试连接时,SQL Server 使用基于 Windows 的功能确定经过验 证的网络用户名。SQL Server 于是验证此人是否是如其所说的那,然后只基于网络用户 名允许或拒绝登录访问,而不要求单独的登录名和密码。说明 如果用户试图通过提供空白登录名称连接到 SQL Server 的实例, SQL Server 将使用 Windows 身份验证。此外,如果用户试图使用特定的登录连接到配置为 Windows 身份验 证模式的 SQL Server 实例,则将忽略该登录并使用 Windows 身份验证。与 SQL Server 身份验证相比, Windows 身份验证有某些优点,主要是由于它与 Windows NT 4.0 和 Windows 安全系统的集成。Windows NT 4.0 和 Windows 安全系统提供 更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请 求无效后锁定帐户。由于 Windows NT 4.0 和 Windows 用户和组只由 Windows NT 4.0 或 Windows 维护, 因此当用户进行连接时,SQL Server 将读取有关该用户在组中的成员资格信息。如果对已连 接用户的可访问权限进行更改,则当用户下次连接到 SQL Server 实例或登录到 Windows NT 4.0 或 Windows 时(取决于更改的类型) ,这些更改会生效。9 混合模式 如果用户在登录时提供了 SQL Server 2014 登录 ID,则系统将使用 SQL Server 身份验 证对其进行验证。如果没有提供 SQL Server 2014 登录 ID 或请求 Windows 身份验证,则 使用 Windows 身份验证对其进行身份验证。当用户用指定的登录名称和密码从非信任连接进行连接时, SQL Server 通过检查是否已 设置 SQL Server 登录帐户,以及指定的密码是否与以前记录的密码匹配,自己进行身份验 证。如果 SQL Server 未设置登录帐户,则身份验证将失败,而且用户收到错误信息。提供 SQL Server 身份验证是为了向后兼容性,因为为 SQL Server 7.0 版或更早的版本 编写的应用程序可能要求使用 SQL Server 登录和密码。另外,当 SQL Server 实例在 Windows 98 上运行时,必须使用 SQL Server 身份验证,因为在 Windows 98 上不支持 Windows 身份验证模式。因此,SQL Server 在 Windows 98 上运行时使用混合模式(但只 支持 SQL Server 身份验证) 。尽管建议使用 Windows 身份验证,但对于 Windows NT 4.0 和 Windows 客户端以外 的其它客户端连接,可能需要使用 SQL Server 身份验证。说明 当使用命名管道连接到在 Windows NT 4.0 或 Windows 上运行的 SQL Server 实 例时,用户必须有连接到 Windows NT 命名管道 IPC \\\IPC$ 的权限。如果用户没有连接权 限,则不能使用命名管道连接到 SQL Server 实例,除非计算机上的 Windows NT 4.0 或 Windowsguest 帐户已启用(默认情况下禁用) ,或者给用户帐户授予&从网络访问该计算机& 的权限。设置 SQL Server 2014 身份验证模式 SQL Server 2014 身份验证模式可以在安装过程中指定或使用 SQL Server 企业管理器指 定,如下图。图 18 安全设置10 也可以通过修改注册表的方式来改变,如下图,它保存在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer LoginMode 中。LoginMode 的键值:1 表示 Windows 身份验证模式,2 表示混合模式。节的图 19 注册表更改 注:改变模式后,必须重新启动 SQL Server 2014 才会生效。SQL Server 2014 联机丛书若要连接到 Microsoft? SQL Server? 2000 实例,只需给应用程序提供下面中的两条信 息运行 SQL Server 实例的计算机所在的网络名称。实例名(可选,只有在连接到命名实例时才需要) 。登录标识符 (ID)。登录 ID 是帐户标识符,用来控制对任何 SQL Server 2014 系统的访问权限。SQL Server 2014 只有在首先验证了指定的登录 ID 有效后,才完成连接。这种登录验证称为身份验证。在登录属性中,有一个是默认数据库。当一个登录连接到 SQL Server 时,这个默认数 据库就变成该连接的当前数据库,除非该连接请求指定另一个数据库作为当前数据库。登录 ID 仅能使您连接到 SQL Server 实例。特定数据库内的权限由用户帐户控制。数 据库管理员将您的登录帐户映射到您有权访问的任何数据库中的用户帐户。Windows 身份验证 SQL Server 2014 sysadmin 固定服务器角色成员必须首先向 SQL Server 2014 指定所有 允许连接到 SQL Server 2014 的 Microsoft Windows NT? 或 Microsoft Windows? 2000 帐户 或组。当使用 Windows 身份验证时,在连接到 SQL Server 2014 时不必指定登录 ID 或密 码。用户对 SQL Server 2014 的访问权限由 Windows NT 或 Windows 帐户或组控制,当登 录到客户端上的 Windows 操作系统时需接受身份验证。当连接到 SQL Server 2014 时,SQL Server 2014 客户端软件向 SQL Server 2014 请求 Windows 信任连接。直到客户端使用有效的 Windows 帐户成功登录后,Windows 才打开 信任连接。信任连接的属性包括打开连接的客户端的 Windows NT 和 Windows 组及用户帐 户。SQL Server 2014 从信任连接属性中得到用户的帐户信息,并将它们与定义为有效 SQL Server

我要回帖

更多关于 小米手机接对话断网 的文章

 

随机推荐