第一篇:VFP讲稿(创建数据库和表)
第二部分
数据库的创建与单命令
创建数据库和表
一、Visual FoxPro 6.0的配置
P28
二、项目及其管理器
P31
1.项目的概念
项目:是文件、数据、文档和Visual FoxPro对象的集合,被保存为扩展名为PJX的文件。
建立项目可以对相关的内容(项目的各组成部分)进行统一组织、统一管理。
项目管理器:是Visual FoxPro中处理数据和对象的主要组织工具,是Visual FoxPro的“控制中心”。
项目管理器为其各个组成部分提供了一个组织良好的分层结构视图。利用项目管理器,用户可以创建、修改、移出或删除文件。只要简单地单击鼠标,就可以跟踪表和查询,组织表单、报表、标签、代码、位图和其它文件。
2.项目的创建
3.一个项目产生两个文件.PJX和.PJT。4.打开/关闭项目 5.选项卡
三、Visual FoxPro 数据库的基本操作
P93 1.建立数据库
(1)在项目管理器中建立 *(2)从“新建”对话框中建立 *(3)用命令建立
P94(4)新建立的数据库有三个文件
三个文件的扩展名分别是:dbc
dct
dcx dbc数据库文件的扩展名 dct数据库备注文件的扩展名 dcx数据库索引文件的扩展名 2.打开和关闭数据库(1)打开数据库 有三种打开方法: 在项目管理器中打开 *从“打开”对话框中打开 *用命令打开
OPEN DATABASE命令
P95(2)关闭数据库 CLOSE DATABASE 3.数据库设计器
有三种打开方法: 在项目管理器中打开 *从“打开”对话框中打开 *用命令打开
MODIFY DATABASE命令
P98 4删除数据库
有两种删除方法: 在项目管理器中删除 *用命令删除
DELETE DATABASE命令
P99
四、数据库表
1.建立数据库表
P99(1)表设计器
(2)字段名:命名规则与内存变量的命名规则相同。可与内存变量同名。(3)字段类型和宽度(4)建立数据库表产生的文件(5)字段有效性组框(6)用命令建立表
使用命令CREATE <表名> 有打开的数据库时,建立的是数据库表,否则建立的是自由表。2.修改表结构
P102(1)插入字段(2)删除字段(3)修改字段
(4)用命令MODIFY STRUCTURE打开表设计器进行修改
五、自由表
如果当前没有打开数据库,创建的表是自由表。1.创建自由表。
2.自由表和数据库表的异同。
自由表和数据库表的设计器不同。*数据库表有很多附加信息。3.将自由表添加到数据库。4.从数据库中移出表。
第二篇:数据库VFP教学体会(推荐)
数据库VFP教学体会
数据库应用具有如下两个特点:
(1)数据库的应用领域广泛。应用计算机进行信息管理,绝大部分都要使用数据库来进行数据信息的存储,因此,在其他课程中,(如VB等)也都要用到一些数据库的相关知识。
(2)数据库的种类繁多,不同种类的数据库还分别有不同的版本。但无论哪一种数据库,他们的基本内容及应用原理是一致的,只不过在具体的实现过程中各有千秋。
通过以往计算机专业班的VFP教学,现对该课程进行了认真的分析,一方面分析了学生在以往的学习过程中常见问题的产生原因,一方面分析了教师在课堂教学过程中针对发现的问题该如何解决。
VFP作为数据库的基础课程,旨在让学生通过学习,了解数据库的基本原理及应用技术。更是一种用来进行管理信息系统开发的常用工具,是学生在校期间学习的一门重要基础课程.由于VFP的特点与其它高级语言程序设计的特点不同,最明显的区别在于数据库程序设计的教学过程,从第一节课开始到最后一节课结束,都在讲解同一个问题——如何把各种日常管理信息用计算机来进行管理。而这种形式的课程是学生以前从没有接触过的,他们还是带着过去的学习方式来学习VFP数据库程序设计的内容,以至于学生的学习目标不明确,不知道学完后能用它来做什么;在学习过程中,习惯性地把每节课的内容分散记忆,不能建立整体概念;每节课的内容学会并不难,但并不十分清楚那一节课的内容是整个管理系统的一个组成部分,在头脑中很难建立起“系统开发”的整体概念。
分析上述问题产生的原因,总结了二点教学体会。
一、数据库的教学重点应注重学生信息素养的培养
信息素养是指为了某种目的而寻找、处理和利用信息的能力,因此信息素养是一种非常重要的能力。依靠信息素养,人们能够进行有效的决策、交流、问题求解和研究,并进行终身的持续学习。学生的信息素养应包括对信息科学的理解,对信息活用的实践能力。在VFP课程的学习中,应特别重视学生实践能力的培养,应特别重视学生以信息技术的方法解决实际问题能力的培养。
首先,在没有开始讲解课程内容之前,教师先给学生演示完整的、内容及应用领域不相同的管理系统实例(如:“学生管理系统”、“图书管理系统”、“工资管理系统”“进销存管理系统”等),通过演示及教师的讲解,引导学生体会VFP的作用及应用领域,以及各管理系统的编程思维及各部分的相互联系。然后让学生亲身体验一下各管理系统的功能。让学生真正体会到VFP强大的实用功能。通过对实例的实际操作后,学生们会对使用“ VFP数据库程序设计”开发的信息管理系统产生感性认识,同时也会对VFP课程产生学习的兴趣。此时,教师便可以进行正确的引导,阐明VFP课程学习与其他课程学习所有不同,它是一门连惯性的课程,并且各部分相互都有联系,每一部分既是独立的又与其它部分相呼应,比如数据库中各数据表的建立及关键字段的设定与之后所建立的查询都是有关联的。需要从始至终来完成一个小型管理系统的制作。
其次,在VFP课堂教学过程中,始终坚持以“案例式”教学为主,适当结合其他教学方法来完成每一节课的教学。既把实例中整个“XXX信息管理系统”的分解结果,应用到每一节课的教学中之。在讲解新课之前,首先给学生演示本节课将要制作的实例,让学生对学习的内容有一个直观的感性认识,逻辑思维的建立,然后引入新课内容。
最后,所有的基本内容讲解之后,留出足够的时间,由教师引导学生按照系统开发的标准步骤开发其他管理系统,让学生清晰地学会系统开发的完整过程。
二、数据库的教学应加强学生自主能力的培养
教学着重培养的是学生获取信息的能力与自学能力、创新能力。在VFP的教学过程中应发挥学生的积极性、主动性和创造性。
1、教师要调整好与学生间的关系,突出学生的学习主体位置。把自己变成“一位合作伙伴”。让他们在探究新知的过程中,暴露自己感知理解新知的矛盾和差异,把疑点和难点都摆在桌面上,再引导他们通过独立思考,实现由感性认识到理性认识的转化。例如:在学习“定时器”控件时时,先给学生展示一些内容幽默的动画作品,激发学生的求知热情,并让学生回忆过去的内容:在VB中是如何实现动画功能的?通过复习旧的知识,学生自主探究新的知识。
2、联系实际是激发学生自主学习情感的前提。教学内容或教材主题要与学生的学习生活、社会生活密切相关,从中扩大眼界,促进使学生自主学习的兴趣得到提升。例如:在进行“表单”教学时,可引导学生制作简单的小游戏,然后将知识点转移到数据库设置当中。
3、在教学过程中应倾力培养学生自主学习的能力,使“任务式”升华为“自觉式”。指导学生提出问题,归纳知识。例如,教师在引导学生开发管理系统时,先让学生分组找出自己感兴趣的领域,然后写出系统开发计划书,最后小组合作完成整个系统的编制与调试。
4、给学生充分展现的机会,培养学生学习的自信心。例如:各组的管理系统开发完成后,以论文答辩的形式将成果展示给大家,以组为单位展示,小组成员是答辩者,其他学生是考核者。不仅锻炼了学生的语言表达能力,还培养了学生科学的构建知识架构的能力。
第三篇:网络数据库讲稿(表数据操作)
网络数据库讲稿
一、插入数据
P131 1.INSERT … VALUES …
(1)VALUES所提供的值的个数、顺序、数据类型,必须与字段名列表中的相一致。(2)关于NULL 和 DEFAULT
P133 CREATE TABLE NULLDEFAULT(ID SMALLINT IDENTITY(1,2), XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT '男', NL TINYINT, MZ CHAR(10)NOT NULL DEFAULT '汉族')INSERT NULLDEFAULT values('张三','女',30,'回族')
①如果省略了列名表和值表中的一列,那么当该列有默认值存在时,将使用默认值;如果默认值不存在,SQL会尝试使用NULL值。
INSERT NULLDEFAULT(XM,MZ)values('张三','回族')INSERT NULLDEFAULT(XM)values('张三')
如果列已声明了NOT NULL,尝试的NULL值会失败。
INSERT NULLDEFAULT(XM,MZ)values(NULL,'回族')INSERT NULLDEFAULT(MZ)values('回族')②如果在值表中明确指定了NULL,那么即使该列默认值存在,也仍会插入NULL值(假设该列允许NULL)。
③当在一个允许NULL且没有声明默认值的列中使用DEFAULT,会在该列插入NULL值。
INSERT NULLDEFAULT values('张三',NULL,default,'蒙古族')④如果在一个声明NOT NULL且没有声明默认值的列中指定NULL或DEFAULT、或者省略了该值,会导致错误。
INSERT NULLDEFAULT values(NULL,NULL,default,'蒙古族')INSERT NULLDEFAULT values(DEFAULT,NULL,default,'蒙古族')INSERT NULLDEFAULT(MZ)values('回族')⑤可以把NULL插入到允许NULL且没有默认值的列中。
INSERT NULLDEFAULT(XM,NL)values('张三',NULL)⑥具有标识属性的列中不能使用关键字DEFAULT,不能在列名表中和值表中列出具有标识属性的列和值。
INSERT NULLDEFAULT values(DEFAULT,DEFAULT,NULL,default,'蒙古族')2.INSERT … SELECT … 3.SELECT … INTO …
二、更新数据
P137
三、删除数据
P141 1.DELETE 2.TRUNCATE TABLE
四、OUTPUT子句
P307 内存逻辑表INSERTED和DELETED。
网络数据库讲稿
INSERT NULLDEFAULT(XM)OUTPUT INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL,INSERTED.MZ values('赵一')INSERT NULLDEFAULT OUTPUT INSERTED.ID values('钱二','女',30,'回族')INSERT NULLDEFAULT OUTPUT INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL values('孙三',NULL,default,'蒙古族')UPDATE NULLDEFAULT SET MZ='维吾尔族' OUTPUT DELETED.ID,DELETED.XM,DELETED.XB,DELETED.MZ, INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL,INSERTED.MZ WHERE XM='赵一'
如果使用INTO子句,INTO子句中的表必须已存在。
CREATE TABLE ABC(ID SMALLINT, XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT '男', NL TINYINT, MZ CHAR(10)NOT NULL DEFAULT '汉族')
UPDATE NULLDEFAULT SET MZ='维吾尔族' OUTPUT DELETED.ID,DELETED.XM,DELETED.XB,DELETED.NL,DELETED.MZ INTO ABC WHERE XM='张三' OR XM='李四'
第四篇:oracle-sql语句-创建表空间、数据库
1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0)ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
2、查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;
3、查看回滚段名称及大小
select segment_name, tablespace_name, r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+)order by segment_name;
4、查看控制文件
select name from v$controlfile;获取创建表空间的sql select
dbms_lob.substr(dbms_metadata.get_ddl('TABLESPACE',a.tablespace_name))from dba_tablespaces a;
SQL> select sid,serial# from v$session where username='TEST';alter system kill session '150,9019';查看被锁的表 select object_name,machine,s.sid,s.serial#,s.event from gv$locked_object l,dba_objects o,gv$session s where l.object_id=o.object_id and l.session_id=s.sid;alter system kill session ‘sid,serial#’;
5、查看日志文件
select member from v$logfile;
6、查看表空间的使用情况
select sum(bytes)/(1024*1024)as free_space,tablespace_name from dba_free_space group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES “% USED”,(C.BYTES*100)/A.BYTES “% FREE” FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
Select b.tablespace_name as表空间名,b.bytes as字节数,(b.bytes-sum(nvl(a.bytes,0)))as已使用,sum(nvl(a.bytes,0))as剩余空间,sum(nvl(a.bytes,0))/(b.bytes)*100 as 剩余百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;
7、查看数据库库对象
select owner, object_type, status, count(*)count# from all_objects group by owner, object_type, status;
8、查看数据库的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
9.查看某个表空间内所占空间大于某个值的段(表或索引):
Select segment_name,bytes FROM dba_segments Where bytes>10000000 AND tablespace_name='tablespace_name';10.查看所有表空间的碎片程度(值在30以下表示碎片很多)
select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(bytes)from(select
b.file_id file_ID,b.tablespace_name tablespace_name,b.bytes Bytes,(b.bytes-sum(nvl(a.bytes,0)))used,sum(nvl(a.bytes,0))free,sum(nvl(a.bytes,0))/(b.bytes)*100
Percent
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id)group by tablespace_name order by sum(free)*100/sum(bytes);11.查看自上次数据库启动以来所有数据文件的读写次数
select
substr(DF.NAME,1,5)Drive,DF.NAME file_name,(fs.phyblkrd+fs.phyblkwrt)
from v$filestat fs,v$datafile df
where df.file#=fs.file#;
创建临时表空间: //创建临时表空间
create temporary tablespace mytest tempfile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;
//创建数据表空间
create tablespace mytest_data logging datafile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest_data.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;//创建用户并指定表空间
create user testaccount identified by testpwd default tablespace mytest_data temporary tablespace mytest;//给用户授予权限
grant connect,resource to testaccount;(db2:指定所有权限)12,创建一个用户:
CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLYOR IDENTIFIED GLOBALLY AS ‘CN=user’[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE temptablespace][QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[PROFILES profile_name][PASSWORD EXPIRE][ACCOUNT LOCK or ACCOUNT UNLOCK];
//查看数据库中的所有用户: select * from all_users;//or select * from dba_users 13查看oracle最大连接数: Select session_max,session_current,sessions_highwater,users_max from v$license;Select username,count(username)from v$session group by username;加密存储过程 WRAP
INAME=D:ORACLESOURCEDATE.SQL ONAME=D:ORACLESOURCEDATA.PLD
第五篇:图书管理系统--创建数据库和表
/* 1管理员表(L_Administrator)字段名 字段说明 数据类型 约束 备注 a_id 管理员编号 int Primary Key Identity(1000,1)a_name 管理员姓名 nvarchar(20)Not null a_pwd */ use Library go create table L_Administrator(a_id int not null primary key Identity(1000,1), a_name nvarchar(20)not null, a_pwd varchar(20)not null);
/* 2职务类型表(L_Duty)字段名 字段说明 数据类型 约束 备注 d_id 职务编号 int Primary Key Identity(1000,1)d_name 职务名称 nvarchar(20)Not null d_maxcount 最大借阅数量 tinyint Not Null */ use Library go create table L_Duty(d_id int not null primary key Identity(1000,1), d_name nvarchar(20)not null, d_maxcount tinyint not null);
/* 3读者表(L_Reader)字段名 字段说明 数据类型 管理员密码 varchar(20)
Not Null
约束 备注
r_id 读者编号 bigint Primary Key r_name 读者姓名 nvarchar(20)Not Null r_pwd r_sex 读者密码 读者性别 varchar(20)Not Null bit Not Null
int Foreign Key 职务类型表的主键
r_typeid 职务类型
r_academy 所在院系 nVarchar(20)r_major 专业 nVarchar(20)
r_contact 联系方式 Varchar(20)r_email 邮箱 nvarchar(20)
r_photo 读者照片 */ use Library nVarchar(100)
存的是读者照片的路径 go create table L_Reader(r_id bigint not null primary key, r_name nvarchar(20)not null, r_pwd varchar(20)not null, r_sex bit not null, r_typeid int not null, r_academy nvarchar(20), r_major nvarchar(20), r_contact varchar(20), r_email varchar(20), r_photo nvarchar(100));alter table L_Reader add constraint fk_dtypeid foreign key(r_typeid)references L_Duty(d_id)on delete cascade on update cascade;
/*创建一个存储过程*/ use Library go create procedure reader @r_id bigint, @r_name nvarchar(20), @r_pwd varchar(20), @r_sex bit, @r_typeid int, @r_academy nvarchar(20), @r_major nvarchar(20), @r_contact varchar(20), @r_email varchar(20), @r_photo nvarchar(100)as begin insert into L_Reader(r_id,r_name,r_pwd,r_sex,r_typeid,r_academy,r_major,r_contact,r_email,r_photo)values(@r_id,@r_name,@r_pwd,@r_sex,@r_typeid,@r_academy,@r_major,@r_contact,@r_email,@r_photo);end /* 4图书类型表(L_BookType)字段名 字段说明 数据类型 bt_id 类型编号 bt_name 类型名称 */
约束 备注
int Primary Key Identity(1000,1)nVarchar(20)Not null use Library go create table L_BookType(bt_id int not null primary key Identity(1000,1), bt_name nvarchar(20)not null);
/* 5出版社信息表(L_Publishing)字段名 字段说明 数据类型 ISBN */ use Library go create table L_Publishing(ISBN char(13)not null primary key, p_name nvarchar(30)not null);
/* 6图书信息表(L_Book)字段名 字段说明 数据类型 国际标准图书编码
约束 备注
char(13)Primary Key
p_name 出版社名称 nvarchar(30)Not Null
约束 备注
b_id 图书编号 Varchar(30)Primary Key Identity(1000,1)b_name 图书名称 nvarchar(30)Not Null ISBN 国际标准图书编码 char(13)Foreign Key 13位数字组成 b_bkcaseid 书架编号 Varchar(20)
b_price 定价 b_author 作者 Numeric(10,2)nvarchar(20)
b_typeid 类型编号 int Foreign Key b_intime 入库时间 DateTime b_synopsis 图书简介 Nvarchar(500)b_state 图书状态 b_photo 封面图片 */ use Library go
create table L_Book(b_id varchar(20)not null primary key , b_name nvarchar(30)not null, ISBN char(13), b_bkcaseid varchar(20), b_price Numeric(10,2)not null, b_author nvarchar(20), b_typeid int, b_intime DateTime,bit 0--借出,1--没有借出 Nvarchar(100)存的是路径 b_synopsis nvarchar(1000), b_state bit not null default 0, b_photo nvarchar(100));
alter table L_Book add L_BookType(bt_id)on delete cascade on update cascade;alter table L_Book add constraint fk_bisbn foreign key(ISBN)references L_Publishing(ISBN)on delete cascade on update cascade;alter table L_Book drop column b_bkcaseid /*创建存储过程*/ use Library go create procedure book @b_name nvarchar(30), @ISBN char(13), @b_bkcaseid varchar(20), @b_price numeric(10,2), @b_author nvarchar(20), @b_intime datetime,@b_synopsis nvarchar(1000), @b_photo nvarchar(100)as begin insert into L_Book(b_name,ISBN,b_bkcaseid,b_price,b_author,b_intime,b_synopsis,b_photo)values(@b_name,@ISBN,@b_bkcaseid,@b_price,@b_author,@b_intime,@b_synopsis,@b_photo);end /* 7借阅管理表(L_Borrow)字段名 字段说明 数据类型
constraint fk_btypeid foreign key(b_typeid)references
约束 备注
bw_id 借阅编号 int Primary Key Identity(1,1)bw_bookid 图书编号 Varchar(20)Foreign Key bw_readerid 读者编号 bw_outtime 借出日期 bw_endtime 到期日期 bw_backtime 归还日期 bw_isexpired 是否过期 bw_fine 罚款数目 */ use Library
Int Foreign Key DateTimeNot Null DateTimeNot Null
DateTime
Bit Not Null 默认为0--不过期
过期后才计算罚款数目 Numeric(10,2)go create table L_Borrow(bw_id int not null primary key Identity(1,1), bw_bookid varchar(20), bw_readerid bigint , bw_outtime datetime not null,bw_endtime as dateadd(d,30,bw_outtime), bw_backtime datetime, bw_isexperied bit default 0, bw_fine numeric(10,2)default 0.00);alter table L_Borrow add constraint fk_bookid foreign key(bw_bookid)references L_Book(b_id)on delete cascade on update cascade;alter table L_Borrow add constraint fk_readerid foreign key(bw_readerid)references L_Reader(r_id)on delete cascade on update cascade;/* 8图书资源表(L_Resource)字段名 字段说明 数据类型
约束 备注
rs_id 资源编号 Int Primary Key Identity(1000,1)rs_name 资源名称 nVarchar(30)Not null rs_synopsis 资源简介 nVarchar(500)rs_amount 资源大小 int 单位为KB或是MB rs_type 资源类型 等常用格式 */ use Library go create table L_Resource(rs_id int not null primary key Identity(1000,1), rs_name nvarchar(30)not null, rs_synopsis nvarchar(500), rs_amount bigint, rs_type varchar(20));
/* 9图书评论表(L_BookMarks)
字段名 字段说明 数据类型 约束 备注 ISBN 国际标准图书编码 char(13)Foreign Key bm_contents 评论内容 Nvarchar(500)Not Null bm_time 评论时间 DateTimeNot Null */ Varchar(20)
类似于doc、xsl、ppt、pdf、zip、rar、MP3、wmvuse Library go create table L_BookMarks(ISBN char(13)not null, bm_contents nvarchar(500)not null, bm_time datetime not null);alter table L_BookMarks add constraint fk_bmisbn foreign key(ISBN)references L_Publishing(ISBN)on delete cascade on update cascade;/* 10书架信息表(L_BookCase)字段名 字段说明 数据类型 约束 备注
bc_id 书架编号 int Primary Key Identity(1000,1)bc_typeid 类型编号 int Foreign Key
*/ use Library go create table L_BookCase(bc_id int not null primary key Identity(1000,1), bc_typeid int not null);alter table L_BookCase add constraint fk_bctypeid foreign key(bc_typeid)L_BookType(bt_id);
references