收藏 分销(赏)

同济大学数据库期末复习.ppt

上传人:精*** 文档编号:2226445 上传时间:2024-05-23 格式:PPT 页数:21 大小:350KB 下载积分:10 金币
下载 相关 举报
同济大学数据库期末复习.ppt_第1页
第1页 / 共21页
同济大学数据库期末复习.ppt_第2页
第2页 / 共21页


点击查看更多>>
资源描述
数据库技术与应用数据库技术与应用复习课复习课知识要点知识要点u设计数据库u管理数据库u应用数据库数据库技术的基本概念数据库技术的基本概念u数据模型三要素数据模型三要素数据结构数据结构数据操作数据操作 DDL DML DCL完整性约束完整性约束u数据库系统数据库系统数据库管理员数据库管理员操作系统操作系统数据库管理系统数据库管理系统数据库数据库数据库应用程序数据库应用程序用户用户应用程序开发人员应用程序开发人员DBSDBMSOSDBDBA数据库体系结构数据库体系结构外模式外模式模式模式内模式内模式外模式外模式/模式映射模式映射模式模式/内模式映射内模式映射数据物理独立性数据逻辑独立性设计数据库设计数据库u设计数据库的基本过程设计数据库的基本过程概念模式的设计概念模式的设计l方法方法E-RE-R图图逻辑模式的设计逻辑模式的设计lE-RE-R图转换为关系模式图转换为关系模式(1:1,1:n,m:n(1:1,1:n,m:n,子类,子类)l规范化处理规范化处理(1NF2NF 3NF BCNF)lCREATE TABLECREATE TABLE命令命令物理模式的设计物理模式的设计管理数据库管理数据库u数据查询数据查询关系代数关系代数l、语言语言(insert(insert、delete delete update select)update select)l难点:全集与否定难点:全集与否定u数据库保护数据库保护完整性控制完整性控制安全性控制安全性控制并发控制并发控制数据库维护数据库维护Create TableTriggerRule三种异常状态三种异常状态事务的事务的ACIDACID性性封锁机制封锁机制常用的安全控制策略常用的安全控制策略:用户登录密码用户登录密码视图视图存取控制存取控制角色角色实体完整性实体完整性实体完整性实体完整性参照完整性参照完整性参照完整性参照完整性域完整性域完整性域完整性域完整性用户自定义完整性用户自定义完整性用户自定义完整性用户自定义完整性管理数据库管理数据库u管理数据库的常用技术管理数据库的常用技术存储过程存储过程l无参数无参数l输入参数输入参数l输出参数输出参数触发器触发器lInsert-insertedInsert-insertedldelete-deleteddelete-deletedlupdate-insertedupdate-inserted、deleteddeleted 对关系对关系s(snum,sname,sex,age)s(snum,sname,sex,age)设计输入触发设计输入触发器,其功能为当用户输入学生记录时对性别进行器,其功能为当用户输入学生记录时对性别进行完整性控制,即当输入值超出完整性控制,即当输入值超出“男男”、“女女”范范围时,显示围时,显示“性别输入有误性别输入有误”,否则报,否则报“性别录性别录入成功!入成功!”。触发器举例触发器举例方法总结方法总结:1.1.从从insertedinserted表中获得条件表中获得条件,然后对条件直接进行判断处理然后对条件直接进行判断处理;2.2.从从insertedinserted表中获得条件表中获得条件,然后用然后用SQLSQL语言进行条件查询。语言进行条件查询。3.3.从从deleteddeleted表中获取信息的处理与表中获取信息的处理与insertedinserted类似。类似。CREATE TRIGGER s_sexON sFOR INSERTASBEGINDECLARE _sex char(2)SELECT _sex=sex,_age=age FROM insertedIF _sex not in(男男,女女)BEGIN PRINT 性别输入有误!性别输入有误!ROLLBACK END ELSE BEGIN PRINT 性别录入成功!性别录入成功!COMMIT ENDENDDECLARE _age intSELECT _age=i.age FROM inserted iIF _age=12 and _age100 OR _score0)BEGIN PRINT 分数输入有误!分数输入有误!ROLLBACK END ELSE BEGIN PRINT 成绩录入成功!成绩录入成功!COMMIT ENDPRINT 事物处理完毕!事物处理完毕!INSERT错误记录错误记录时的运行结果?时的运行结果?对关系对关系:产品产品产品号,产品名称产品号,产品名称,单价单价,产地产地设设计存储过程,其功能为查找指定地区的产品信息。计存储过程,其功能为查找指定地区的产品信息。例如:查询山东生产的产品信息。例如:查询山东生产的产品信息。存储过程举例存储过程举例CREATE PROC products_info_area char(10)ASSELECT *FROM 产品产品WHERE 产地产地 LIKE%+_ area+%z 对关系对关系:产品产品产品号,产品名称产品号,产品名称,单价单价,产地产地设计存储过程,其功能为查找指定产品号的产品名称。设计存储过程,其功能为查找指定产品号的产品名称。z CREATE PROC products_info_pnum char(8),_pname varchar(30)outputASSELECT _pname=产品名称产品名称FROM 产品产品WHERE 产品号产品号 LIKE%+_pnum+%注意多种查询条件的表达!注意多种查询条件的表达!存储过程举例存储过程举例应用数据库应用数据库ADO.NETuADO.NET的数据读操作的数据读操作 SqlCommandl ExcecuteReaderl ExcecuteScalar SqlAdapterl SqlAdapter.Fill()uADO.NET的数据写操作的数据写操作 SqlCommandl ExcecuteNonQuery SqlAdapterl SqlAdapter.Update()对于关系对于关系sc(snum,cnum,score),首先将课程号填充首先将课程号填充到到ComboBox1,然后根据然后根据ComboBox1的不同选择,在的不同选择,在DataGrid1显示指定课程的课程号、最高成绩、最低成显示指定课程的课程号、最高成绩、最低成绩。绩。Private Sub Form3_Load()Handles MyBase.Load Dim myconn As SqlConnection=New SqlConnection(Data Source=naonao;Integrated Security=SSPI;Initial Catalog=tjdb)Dim mycmd As New SqlCommand mycmd.Connection=myconn mycmd.CommandText=select distinct cnum from sc Dim myadapter As SqlDataAdapter=New SqlDataAdapter(mycmd)Dim mydataset As New DataSet myadapter.Fill(mydataset,课程号课程号)Me.ComboBox1.DataSource=mydataset.Tables(课程号课程号)Me.ComboBox1.DisplayMember=cnum End SubDim mytable as new DataTableMyadapter.Fill(mytable)ComboBox值的初始化处理值的初始化处理 Private Sub ComboBox1_SelectedIndexChanged()Handles Dim myconn As SqlConnection=New SqlConnection(Data Source=.;Integrated Security=SSPI;Initial Catalog=tjdb)Dim mysql As String mysql=select distinct cnum as 课程号课程号,max(score)as 最高成绩最高成绩,min(score)as 最低最低成绩成绩 from sc where cnum=&Trim(Me.ComboBox1.Text)&group by cnum Dim myadapter As SqlDataAdapter=New SqlDataAdapter(mysql,myconn)Dim mydataset As New DataSet myadapter.Fill(mydataset,成绩汇总成绩汇总)Me.DataGrid1.DataSource=mydataset.Tables(成绩汇总成绩汇总)Me.DataGrid1.CaptionText=+Trim(Me.ComboBox1.Text)+课程的最高课程的最高&最低成绩最低成绩 End SubDataGrid值的填充值的填充课程号Private Sub Form1_Load()Handles MyBase.Load Dim sql As String=select avg(score)from sc Dim myconn As New SqlConnection(Initial Catalog=学生选课学生选课;Data Source=.;Integrated Security=SSPI;)Dim mycmd As New SqlCommand(sql,myconn)Dim avg As Integer=0 myconn.Open()avg=mycmd.ExecuteScalar()myconn.Close()MsgBox(平均成绩平均成绩=&avg)End SubSqlCommand的三种执行方式的三种执行方式SQL_insert命令的执行命令的执行Private Sub Button1_Click()Handles Button1.Click Dim myconn=New SqlConnection(integrated security=SSPI;data source=.;initial catalog=tjdb)Dim mysql As String=insert into sc values (&Me.TextBox1.Text&,&Me.TextBox2.Text&,&Val(Me.TextBox3.Text)&)Dim mycmd As New SqlCommand(mysql,myconn)myconn.open()mycmd.ExecuteNonQuery()myconn.close()End Sub存储过程的调用存储过程的调用Private Sub Button1_Click()Handles Button1.Click Dim myconn As New SqlConnection(“Data Source=.;Initial Catalog=university;Integrated Security=True;)Dim avg As Integer Dim mycmd As New SqlCommand(avg_of_snum,myconn)mycmd.CommandType=CommandType.StoredProcedure Dim _snum As New SqlParameter(_snum,SqlDbType.NChar,4)mycmd.Parameters.Add(_snum)_snum.Value=TextBox1.Text myconn.Open()avg=mycmd.ExecuteScalar()MsgBox(avg)myconn.Close()End Sub存储过程的调用存储过程的调用Private Sub Button2_Click()Handles Button2.Click Dim myconn As New SqlConnection(Data Source=.;Initial Catalog=university;Integrated Security=True;)Dim mycmd As New SqlCommand mycmd.Connection=myconn mycmd.CommandType=CommandType.StoredProcedure mycmd.CommandText=sc_proc Dim myParm1 As SqlParameter=mycmd.Parameters.Add(_snum,SqlDbType.NVarChar,4)Dim myParm2 As SqlParameter=mycmd.Parameters.Add(_avg,SqlDbType.Int,4)myParm1.Value=Trim(TextBox1.Text)myParm2.Direction=ParameterDirection.Output myconn.Open()mycmd.ExecuteScalar()myconn.Close()TextBox2.Text=myParm2.Value End Sub
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服