同济大学数据库期末复习.ppt_第1页
同济大学数据库期末复习.ppt_第2页
同济大学数据库期末复习.ppt_第3页
同济大学数据库期末复习.ppt_第4页
同济大学数据库期末复习.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库技术与应用,复习课,知识要点,设计数据库管理数据库应用数据库,数据库技术的基本概念,数据模型三要素数据结构数据操作DDLDMLDCL完整性约束数据库系统,DBS,DBMS,OS,DB,DBA,数据库体系结构,外模式,模式,内模式,外模式/模式映射,模式/内模式映射,数据物理独立性,数据逻辑独立性,设计数据库,设计数据库的基本过程概念模式的设计方法E-R图逻辑模式的设计E-R图转换为关系模式(1:1,1:n,m:n,子类)规范化处理(1NF2NF3NFBCNF)CREATETABLE命令物理模式的设计,管理数据库,数据查询关系代数、语言(insert、deleteupdateselect)难点:全集与否定数据库保护完整性控制安全性控制并发控制数据库维护,CreateTableTriggerRule,三种异常状态事务的ACID性封锁机制,常用的安全控制策略:用户登录密码视图存取控制角色,实体完整性参照完整性域完整性用户自定义完整性,管理数据库,管理数据库的常用技术存储过程无参数输入参数输出参数触发器Insert-inserteddelete-deletedupdate-inserted、deleted,对关系s(snum,sname,sex,age)设计输入触发器,其功能为当用户输入学生记录时对性别进行完整性控制,即当输入值超出“男”、“女”范围时,显示“性别输入有误”,否则报“性别录入成功!”。,触发器举例,方法总结:1.从inserted表中获得条件,然后对条件直接进行判断处理;2.从inserted表中获得条件,然后用SQL语言进行条件查询。3.从deleted表中获取信息的处理与inserted类似。,CREATETRIGGERs_sexONsFORINSERTASBEGINDECLARE_sexchar(2)SELECT_sex=sex,_age=ageFROMinsertedIF_sexnotin(男,女)BEGINPRINT性别输入有误!ROLLBACKENDELSEBEGINPRINT性别录入成功!COMMITENDEND,DECLARE_ageintSELECT_age=i.ageFROMinsertediIF_age=12and_age100OR_score0)BEGINPRINT分数输入有误!ROLLBACKENDELSEBEGINPRINT成绩录入成功!COMMITEND,PRINT事物处理完毕!,INSERT错误记录时的运行结果?,对关系:产品产品号,产品名称,单价,产地设计存储过程,其功能为查找指定地区的产品信息。例如:查询山东生产的产品信息。,存储过程举例,CREATEPROCproducts_info_areachar(10)ASSELECT*FROM产品WHERE产地LIKE%+_area+%,对关系:产品产品号,产品名称,单价,产地设计存储过程,其功能为查找指定产品号的产品名称。,CREATEPROCproducts_info_pnumchar(8),_pnamevarchar(30)outputASSELECT_pname=产品名称FROM产品WHERE产品号LIKE%+_pnum+%注意多种查询条件的表达!,存储过程举例,应用数据库ADO.NET,ADO.NET的数据读操作SqlCommandExcecuteReaderExcecuteScalarSqlAdapterSqlAdapter.Fill()ADO.NET的数据写操作SqlCommandExcecuteNonQuerySqlAdapterSqlAdapter.Update(),对于关系sc(snum,cnum,score),首先将课程号填充到ComboBox1,然后根据ComboBox1的不同选择,在DataGrid1显示指定课程的课程号、最高成绩、最低成绩。,PrivateSubForm3_Load()HandlesMyBase.LoadDimmyconnAsSqlConnection=NewSqlConnection(DataSource=naonao;IntegratedSecurity=SSPI;InitialCatalog=tjdb)DimmycmdAsNewSqlCommandmycmd.Connection=myconnmycmd.CommandText=selectdistinctcnumfromscDimmyadapterAsSqlDataAdapter=NewSqlDataAdapter(mycmd)DimmydatasetAsNewDataSetmyadapter.Fill(mydataset,课程号)Me.ComboBox1.DataSource=mydataset.Tables(课程号)Me.ComboBox1.DisplayMember=cnumEndSub,DimmytableasnewDataTableMyadapter.Fill(mytable),ComboBox值的初始化处理,PrivateSubComboBox1_SelectedIndexChanged()HandlesDimmyconnAsSqlConnection=NewSqlConnection(DataSource=.;IntegratedSecurity=SSPI;InitialCatalog=tjdb)DimmysqlAsStringmysql=selectdistinctcnumas课程号,max(score)as最高成绩,min(score)as最低成绩fromscwherecnum=DataSource=.;IntegratedSecurity=SSPI;)DimmycmdAsNewSqlCommand(sql,myconn)DimavgAsInteger=0myconn.Open()avg=mycmd.ExecuteScalar()myconn.Close()MsgBox(平均成绩=datasource=.;initialcatalog=tjdb)DimmysqlAsString=insertintoscvalues(InitialCatalog=university;IntegratedSecurity=True;)DimavgAsIntegerDimmycmdAsNewSqlCommand(avg_of_snum,myconn)mycmd.CommandType=CommandType.StoredProcedureDim_snumAsNewSqlParameter(_snum,SqlDbType.NChar,4)mycmd.Parameters.Add(_snum)_snum.Value=TextBox1.Textmyconn.Open()avg=mycmd.ExecuteScalar()MsgBox(avg)myconn.Close()EndSub,存储过程的调用,PrivateSubButton2_Click()HandlesButton2.ClickDimmyconnAsNewSqlConnection(DataSource=.;InitialCatalog=university;IntegratedSecurity=True;)DimmycmdAsNewSqlCommandmycmd.Connection=myconnmycmd.CommandType=CommandType.StoredProceduremycmd.CommandText=sc_procDimmyParm1AsSqlParameter=mycmd.Parameters.Add(_snum,SqlDbType.NVarChar,4)DimmyParm2AsSqlParameter=mycmd.Parameters.Add(_avg,Sq

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论