|
数据库% r0 N9 U' `' w% H0 v
学校这个学期就开了数据库原理这么功课,在其他的学校的很多都是大三才开设这门功课,在第一节上课的时候,黄教授就给我们讲了为什么在大一就把这么功课开了,他说到:现在很多大学都把这门功课放到大三才开始学,但是这样的话,他们在程序设计需要用到数据库的知识的话,他们无从下手,我们专业的培养计划就是让我们在大一就学会,然后在以后的学习不段的去操作,真切的提高我们对数据库的理解。: ?" X' W! b3 [# h' V u' H
之前我已经通过网络查到软件开发专业需要重点学习的几门专业基础课,其中数据库原理就是其中的一门。我深切感受到如果一些只有理论知识的人来教授这门功课的人我想是不太合适的,大家都反映大课不用听,小课学习到的更多的东西。其实我认为是不对的。小课只是给你一个直观的操作结果,但是你知道为什么这样操作是对的吗?如果你单纯的会操作的话,那么跟一个熟练的技术工人有什么区别呢?数据库大课,黄教授切实讲的不错,他有自己独立的思想,他根据他之前工作过,和教学过的经验,讲课过程中详列得当,例如他讲解数据模型和数据库系统概念的时候,特别强调了一些概念的东西,他讲到概念你理解了就好了,其他的东西自己看书都能看懂,也不象别的老师一样,你把概念记着就好了,什么意思你不用管,到时候你会明白的。但是可能是我本人的个人缘故,我喜欢理解概念,因为真的是概念你明白后,你做什么都清楚了。* c# L9 k L. ?7 f# T& V
数据库就我自己的理解就是里面放了一大堆的数据,所以从这个方面你就很容易理解了。你要考虑到那么这个数据库的数据是怎么录入的呢?人工录入,还是通过一些手段让计算机自己录入,这样的话就涉及到了数据定义和数据更新的知识了。那么你带着疑问去听课OR去看书就有目的了,理解起来就比较容易了。数据更新里面还有一个很大的问题要注意到,那个就是关系数据库里面的完整性,这样你就需要去了解什么就是关系的完整性,以及它是如何起作用的,例如你把一个主键的值以null输入,会出现什么问题呢?例如你的那个外来KEY里面的数据要更新的时候该怎么更新呢?应该在哪里更新就好了呢?。那接着另外一个问题就出来了,那你数据录入后,你要使用该怎么使用?例如你想查询这个数据库的一个pubs表里面的pubers大于18岁的有几个,那么你该学习哪里呢?那个就是数据查询,记着不是单纯的数据更新就行的呀!你select语句中的where语句你该怎么写呢?你这个就需要去理解一下关系数据库的关系代数和关系演算了。这样你出上面要求的查询要求。那么如果有很多表在一起,我们查起来太慢了,我们该怎么办呢?这样的话我们就引入了一个view的概念了。还是我刚才的一句话,你要清楚的view的概念,以及它是用来干什么的,有什么优点。以及使用的时候需要注意什么问题,这样的话你就需要去看一下视图的那个节。整个数据的录入,输出都结束了,是否你的任务就结束了呢?还不是的呀。你是否想到你刚才的那个数据库设计的并不好。你有没有想过自己设计一个呢?接下来告诉你就是如何去设计一个数据库!
# f; `' b F9 h! H& i6 K) E4 z 其实设计是一个什么工作呢?就是把我们现实的东西把它弄到计算机里面让他们做好处理后告诉我们,计算机永远是一个只会计算的东西。这样我们设计数据库需要什么东西呢?例如我们要设计一个高校信息管理系统,如果是这个东西的话,我们需要在里面装什么数据呢?这个就看你需要什么功能了!例如,我在里面很查学生档案,学生成绩,教务排课,教员信息,需要能在里面更新学生档案,学生成绩,能够排课,教员信息也是能更新的。那么我们的需求就有了。这样你就把需求分析给搞清楚,然后就建立E-R图了(E-R是来建立建立每个对象之间的联系的,和表示这个对象具有什么属性的),这样一个E-R图就出来了。你是否对我从(上面这个从需求分析这里开始到E-R的出来)这个过程感觉到好象很完美,你能否发现一些问题呢?其实你怎么知道E-R图是对的呢?你以什么标准来衡量呢?别人的E-R图也能满足需要,那么你如何衡量好坏呢?这个问题我还不知道如何去解决。2 \4 N: J% C9 u+ \) J0 E+ M
& ^- }5 C# N8 |, ~6 c
以上的就是我对数据库这么课程的理解。
; u5 Q5 ^% j! _1 a6 x/ U9 ^# [, V; s# U' c$ d7 t8 x
(黄教授就是黄思曾,挺牛的一个人.大家可以GOOGLE一下他)的" F, S7 @/ I3 p p4 E: H, @: ]# c
5 x8 u t# |+ X/ M/ u' y. y
[ 本帖最后由 chenjunqiang 于 2009-5-30 12:37 编辑 ] |
评分
-
1
查看全部评分
-
|