1、 一个关系由一个二维表表示
2、 二维表中的每一列称为关系的一个属性,即字段
3、 二维表中的每一行的所有数据称为一个元组,相当一个记录,代表一个实体
4、 能唯一标识一个元组的一个或若干个属性的集合称为关键字
5、 数据表的特点:
(1)关系是一种规范的二维表,表中不能再包含表。
(2)二维表中的每一列元素是类型相同的数据。
(3)二维表的行和列的顺序可以任意调整。
(4)表中任意两行记录不能完全相同。
6、 关系运算
(1)选择:从数据表中挑选满足指定条件或指定范围的记录。
(2)投影:从数据表中将指定的字段挑选出来。
(3)连接:按照某个条件将两个数据表连接生成一个新数据表。
连接又分为等值连接与自然连接。在联接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性列的等值连接。
7、 字段数据类型
(1)文本(Text):Access默认的大小是50个字符。
(2)备注(Memo):保存长度较长的文本及数字,Access不能对备注字段进行排序或索引,却可以对文本字段进行排序和索引。在备注字段中虽然可以搜索文本,但却不如在有索引的文本字段中搜索得快。
(3)数字(Number):用来存储进行算术计算的数字数据,用户还可以设置“字段大小”属性定义一个特定的数字类型(“字节”、“整数”、“长整数”、“单精度数”、“双精度数”、“同步复制ID”、“小数”) 。在Access中通常默认为“双精度数”。
(4)日期/时间(Data/Time):用来存储日期、时间或日期时间,每个日期/时间字段需要8个字节来存储空间。
(5)货币(Currency):是数字数据类型的特殊类型,等价于具有双精度属性的数字字段类型。向货币字段输入数据时,不必键入人民币符号和千位处的逗号,Access会自动显示人民币符号和逗号,并添加两位小数到货币字段。当小数部分多于两位时,Access会对数据进行四舍五入。精确度为小数点左方15位数及右方4位数。
(6)自动编号(AutoNumber):这种类型较为特殊,每次向表格添加新记录时,Access会自动插入唯一顺序或者随机编号,即在自动编号字段中指定某一数值。自动编号一旦被指定,就会永久地与记录连接。如果删除了表格中含有自动编号字段的一个记录后,Access并不会为表格自动编号字段重新编号。当添加某一记录时,Access不再使用已被删除的自动编号字段的数值,而是重新按递增的规律重新赋值。
(7)是/否(Yes/No):这种字段是针对于某一字段中只包含两个不同的可选值而设立的字段,通过是/否数据类型的格式特性,用户可以对是/否字段进行选择。
(8)OLE对象(OLE Object):可以链接或嵌入Access表中的OLE对象是指在其他使用OLE协议程序创建的对象,例如WORD文档、EXCEL电子表格、图像、声音或其他二进制数据。OLE对象字段最大可为1GB,它主要受磁盘空间限制。
(9)超级链接(Hyperlink):用来保存超级链接的,包含作为超级链接地址的文本或以文本形式存储的字符与数字的组合。当单击一个超级链接时,WEB浏览器或Access将根据超级链接地址到达指定的目标。超级链接最多可包含三部分:一是在字段或控件中显示的文本;二是到文件或页面的路径;三是在文件或页面中的地址。在这个字段或控件中插入超级链接地址最简单的方法就是在“插入”菜单中单击“超级链接”命令,三部分最多包含2048个字符。
(10)附件(?):可允许向Access数据库附加外部文件的特殊字段,可以查看和编辑附加的文件。
(11)查阅向导(Lookup Wizard):为用户提供了一个建立字段内容的列表,可以在列表中选择所列内容作为添入字段的内容。
8、 利用表设计器创建表的步骤
(1)在“创建”选项卡“表格”功能区中单击“表设计”按钮。
(2)在“字段名称”列输入字段名称,“数据类型”列选择相应的数据类型,在“字段属性”中设置相应的属性。
(3)单击“保存”按钮,输入表名,单击“确定”按钮完成。
9、 数据表字段名最长可以包含64个字符
10、表结构只能在表设计视图中修改
11、熟记P18记录导航条;熟记P19表2-9;熟记P19表2-10
12、修改表结构包括:增减字段、更改字段类型、更改字段属性。
增减字段:打开表设计视图;在“设计”选项卡的“工具”功能区,选择“插入行”命令在当前字段前插入字段;选择“删除行”命令删除当前字段。 或者在右击弹出的快捷菜单中选择“插入行”、“删除行”命 令。
13、在“数据表视图”中进行记录数据操作。包括:修改字段数据、增加记录、删除记录。记录数据删除是永久删除,不能恢复。
14、插入“ole”对象的步骤:在需要插入“ole”对象数据的位置右击;在快捷菜单中选择“插入对象”命令;选择由“新建”或“由文件创建”。
15、设置字段属性的目的:更准确限制字段中所输入数据的内容和格式。
16、讲解附录中的常用函数及运算符。
一、算术运算
1.绝对值函数:Abs(x)返回数值x的绝对值。
如Abs(-3)=3
2.向下取整函数:Int(x) 求不大于x的最大值。
例 Int(3.25)=3 Int(-3.25)=-4
3.取整函数:Fix(x) 截尾取整
例 Fix(3.25)=3,Fix(-3.25)= -3
4.四舍五入函数:Round(x,[n])按照指定的小数位数进入四舍五入运算的结果。[n]是进入四舍五入运算小数点右边应保留的位数。
例 Round(3.255,1)= 3.3; Round(3. 754,2)= 3.75;Round(3.754,0)= 4
5.开平方函数:Sqr(x)计算数值x的算术平方根,x>=0。
例 Sqr(9)= 3
6.产生随机数函数:Rnd(x)产生一个0-1之间的随机数,为单精度类型。
例 Int(100 * Rnd) ‟产生[0,99]的随机整数;
Int(101 * Rnd) ‟产生[0,100]的随机整数
7.求平均值函数Avg(x) 例如:在tstud表中所有学生年龄的平均值
select avg([年龄]) from tstud
8.求和函数sum()
例如:在tstud表中求所有学生年龄的和
select sum([年龄]) from tstud
9、Atn(x)求x的反正切值
10、Tan(x)求经的正切值
11、Sin(x) 求x的正弦值
12、 Cos(x) 求x余弦值
13、Exp(x) 返回e 的x次幂。
14、Log(x)返回以E为底x的对数值
二、字符串函数
1.字符串检索函数
InStr([Start,] <Strl>,<Str2> [,Compare])
检索子字符Str2在字符串Strl中出现的位置,返回一整型数
Start为可选参数,为数值式,设置检索的起始位置。如省略,从第一个字符开始检索
如果Strl的长度为零,或Str2表示的申检索不到,则InStr返回0
如果Str2的串长度为零,InStr返回Start的值
Compare 的设置将决定比较的类型
例:strl =“987653465” , str2 =“65”
s1 = InStr(strl ,str2) 返回4
s2 = InStr( 3,“aSsiAB”,“A”,1) 返回5。
Instrrev(str1, str2[, start])
检索子字符Str2在字符串Strl中出现的位置,从字符串的末尾算起。
例:s3= InStrrev(strl ,str2) 返回 8
2.字符长度检测函数:Len(<字符表达式>或<变量名>)
返回字符串所含字符数。注意,定长字符,其长度是定义时的长度,和字符串实际值无关。
例: lenl = Len(“12345”) ‟返回5
len4 = Len(“考试中心”) ‟返回4
3.字符串截取函数
Left (str,<N>) 从Str左边起截取N个字符。
Right(str,<N>):在str右边起截取N个字符。
Mid(str,<N1>,[N2]):从str左边第N1个字符起截取N2个字符。
例:strl =“opqrst” str2 =“计算机等级考试”
str = Left( strl,3) ‟返回“opq”
str = Left( str2,4) ‟返回“计算机等”
str = Right( strl,2) ‟返回“st”
str = Right( str2,2) ‟返回“考试”
str = Mid( strl,4,2) ‟返回“rs”
str = Mid( str2,1,3) ‟返回“计算机”
str = Mid(str2, 4,) ‟返回“等级考试”
4.生成空格字符函数:Space(n) 返回n的值指定的空格字符数。
例如:strl = Space(3) 返回3个空格字符
5.大小写转换函数
Ucase(<字符串表达式>):将字符串中小写字母转换成大写字母。
Lcase(<字符串表达式>):将字符串中大写字母转换成小写字毋。
例:strl = Ucase(”fHkrYt”) 返回 “FHKRYT”
str2 = Lcase(“fHKrYt”) 返回 ”fhkryt”
6.删除空格函数
Ltrim(<字符串表达式>):删除字符串的开始空格。
Rtrim(<字符串表达式>):删除字符串的尾部空格。
Trim(<字符串表达式>):删除字符串的开始和尾部空格。
例:str = “ab cde”
str1 = Ltrim(str) 返回”ab cde”
str2 = Rtrim(str) 返回”ab cde”
str3 = Trim(str) 返回”ab cde”
7、字符重复函数
string(n,字串) 将字串的首字符重复n次,组成新字串。
例:string(3,”fun”) 返回字串“fff”
8、字符替换函数
Replace(字串,str1,str2[,start][,count]) 用str2替换字串中的str1
start 替换的起始位置,count替换次数。
例:replace(“a1b1”,”1”,”X”) 返回字串“aXbX”
replace(“a1b1c1”,”1”,”X”, , 2) 返回字串“aXbXc1”
Replace(“a1b1c1”, “1”, “X”, 4, 2) 返回串“XcX”
三、日期/时间函数
1.获取系统日期和时间函数
Date():返回当前系统日期。
Time():返回当前系统时间。
Now():返回当前系统日期和时间。
例:D = Date()返回系统日期,如2008-08-08
T = Time()返回系统时间, 如9:45:00
DT = Now()返回系统日期和时间,如2008-08-08 9:45:00
2.截取日期分量函数
Year(<表达式>):返回日期表达式年份的整数。
Month(<表达式>):返回日期表达式月份的整数。
Day(<表达式>):返回日期表达式日期的整数。
Weekday (<表达式>[.W] ):返回1-7的整数,表示星期几。返回的星期值是星期日为1,星期一为2,以此类推。
例:Year("00-6-15") = 2000 Month("00-6-15") = 6
Month( [csrq] )=7 :把7月份出生的学生查找出来
Year(Date())-Year( [出生日期] ):根据出生日期计算学生年龄
Date()-10:表示出系统日期10天前的日期。
3. 截取时间分量函数
Hour(<表达式>):返回时间表达式的小时数(0-23)。
Minute(<表达式>):返回时间表达式的分钟数(0-59)
Second(<表达式>):返回时间表达式的秒数(0-59)
例:T = #10:40:11#
HH = Hours(T) 返回10
MM = Minute(T) 返回40
SS = Second(T) 返回11
4. 返回日期函数
DateSerial(year, month, day)
D=dateserial(2008,2,29) 返回#2008-2-29#
D=dateserial(2008-1,8-2,0) 返回#2007-5-31# 当前年的5月1日
Dateserial(year(date()),5,1)前一年的5月1日
Dateserial(year(date())-1,5,1) 后一年的5月1日
Dateserial(year(date())+1,5,1)前一年的5月1日
5 .按指定形式返回日期
.format()
Format(#2010-1-1#,yyyy) 返回2010
四、类型转换函数
1. 字符串转换字符代码函数
Asc(<字符串表达式>)返回字符串首字符的ASCII值。
例:s = Asc("abcdef"),返回97
2. 字符代码转换字符函数:
Chr(<字符代码>)返回与字符代码相关的字符。
例: s = Chr(70),返回f;
s = Chr(13),返回回车符
3. 数字转换成字符串函数:
Str(<数值表达式>)将数值表达式值转换成字符串。
注意,当一数字转成字符串时,总会在前头保留一空格来表示正负。表达式值为正,返回的字符串包含一前导空格表示有一正号。
例:s = Str(99)返回“99” ,有一前导空格;s = Str(-6)返回“-6”
4. 字符串转换成数字函数:
Val(<字符串表达式>)将数字字符串转换成数值型数字。
注意,数字串转换时可自动将字符串中的空格、制表符和换行符去掉,当遇到它不能识别为数字的第一个字符时,停止读入字符串。
例:val(“123”)
val(“123.34.56”)
Val(12 34)
Val(12a34)
Val(“a123”)
其它转换函数:
cbool(); cbyte();ccur();cdate();cdec();cint();
clng();csng()’cstr();cvar()