如何学好数据库

时间:2023-03-21 07:54:53 其他范文 收藏本文 下载本文

如何学好数据库(共7篇)由网友“懒猫生活”投稿提供,下面就是小编给大家带来的如何学好数据库,希望大家喜欢阅读!

如何学好数据库

篇1:如何学好数据库

如何学好数据库

Microsoft SQL Server:是微软公司推出的基于服务器端的中型的数据库,可以适合大容量数据的应用。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。Microsoft SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。此软件适合对数据库及SQL语言较为了解的人使用。

Microsoft Access:是微软公司推出的一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。Microsoft Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。

MySql:是出自瑞典一家小公司MySQL公司的开放源码的数据库,它是一个跨平台的数据库系统,支持多用户、多线程的SQL数据库系统,是具有客户机/服务器体系结构的分布式数据库管理系统。具有安装简单、使用简单、管理也简单等特点。是很多初学者的首要选择。

Oracle:是甲骨文公司推出的数据库系统,由于它功能强大,可开发性好,性能稳定等特点常被用于大型企业的数据库制作中。此软件适合有很好的数据库基础的人使用。选择好要学习的数据库后我们首先要熟悉一下数据库的基本概念。如果基本概念都不清实际操作时就会困难重重。同时对于一些比较深奥的、一时不能完全理解的概念,完全可以先放在一边。开始的时候尽量把概念与自己熟悉的事物联系起来,这样更容易理解。比如对“字段”不妨这样理解:字段就像一个表格的列,每个字段都有数据类型和长度等性质。

在初学的时候我们应该充分利用图形界面,一般数据库系统都有图形操作界面,如SQL Server 有企业管理器,MySQL的新版本也有类似企业管理器的工具,Access的操作界面更是友好。在短期内学会在图形界面中对数据库、表、记录、字段进行增加、修改、删除等操作是完全可以办到的。

如何学好java

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。

2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。

3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。

4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。

5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。

6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。

7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览群书;

8.看再多的书是学不全脚本的,要多实践

9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;

10.学习脚本最好的方法之一就是多练习;

11.在任何时刻都不要认为自己手中的书已经足够了;

12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;

13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;

14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件;

15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中;

16.不要漏掉书中任何一个练习——请全部做完并记录下思路;

17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工作。

18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的;

19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能讲清楚才说明你真的理解了;

20.记录下在和别人交流时发现的自己忽视或不理解的知识点;

21.保存好你做过的所有的源文件----那是你最好的积累之一;

22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

23,到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回的。

篇2:如何学好Access数据库编程

好像武侠小说里边说的:“你的招式忘了没有?”,回答:“差不多忘了”,“忘了就好”,

这与数据库编程有什么关系?关系可大了。同志们学过Pascal、BASIC、C(C++)没有?如果没有,FOXBASE、FOXPRO应该学过吧?按以上这些语言编程,都是过程化的,说白一点就是一个数据一个数据、一条记录一条记录去处理(FOXBASE、FOXPRO不完全这样,但书上也经常是这样介绍的),当初我接触ACCESS 97时,一下子没有了IF、FOR这些语句(指数据处理),都用SQL语句,真是找不到北了,好在我学SQL语言时,也尽量忘掉这个IF、FOR,到我忘得差不多时,功夫也进了一大步,原来要编一大段程序,现在一两条SQL语句搞定,就算用多几条SQL语句,由于是在图形界面下做,可视化操作,拉拉扯扯,再修改一下生成的SQL语句,也就省事多了。

由于ACCESS具备完整的SQL语言(FOXBASE没有、FOXPRO不完整),我从ACCESS 97开始用ACCESS编程,到现在为止,DAO、ADO很少用,加上最近从爱赛思上接触的一些技术,基本上不用DAO、ADO都可以了,可以从我的“未完工的库存管理”中看出,只是在特殊情况下才偶尔用一下。(少用,但不是不用,还得学,不要误解)

如何学好数据库编程?下面介绍一下本人的一些经验,仅供参考:

1.首先要把原来一个数据一个数据、一条记录一条记录的数据处理方式忘掉,越彻底越好。

现在用成批处理了。少用记录集一条记录一条记录地处理,尽量用SQL语句。

2.学好关系数据库的理论,尤其是规范化理论,表的设计一定要规范化,最起码要规范化到第三范式,

集合运算(并、交、差)。关系运算(选择、投影、连接)。其中连接与规范化是紧密结合的。

3.运用面向对象的技术:面向对象的分析OOA、面向对象的设计OOD、面向对象的编程OOP,根据表的关系,用窗体和子窗体、报表和子报表,仿真面向对象,这样可以增加程序的可读性和可维护性。(这是高级技术,同志们不要轻视,做大项目你就知道有用了)

4.用查询时,通常一步做不出来,可以分几步做,本人通常是这么做的,从我给网友回复的例子中也可以看得出。为什么要这样做?(1)有些是SQL语言的限制,没办法一步做出来,逼的;(2)可以检查每一步查询的结果,容易调试;(3)增加可读性,便于日后维护。

5.查询的结果用窗体显示或用报表打印,两者的技术差不多。通常改变打开窗体或报表的条件就可控制显示或打印的记录范围。另外用查询做数据源时,动态改变查询中的SQL语句,比在查询中引用窗体的控件要方便,因为SQL语句生成是在VBA中,可以先存放在字符变量中,然后再更新查询的SQL语句,这样就可以用断点来检查变量值对不对,如果在查询中引用窗体的控件,尤其是包含IIF函数时,调试是很困难的。

6.开发一个系统,首先要解决技术问题,即算法,用简单例子,把算法弄懂了,再详细设计,这一点从网友的提问中可以看出,有很多人问题表达不清楚,有的人其中夹了很多与算法无关的东西,尤其是很专业的东西,别人不容易看得明白,由于算法没搞清楚,程序就无法编了。

7.不要使用过多的工具特性,使用过多的工具特性会使可读性降低,可维护性差,要别人帮忙时难以得到帮助,更要命的是可移植性差,从MDB到ADP就可以体会到了,所以在编程时可读性很重要,可移植性更重要,你甘心自己的程序就固定在一个环境下运行吗?你甘心永远用一个工具搞开发吗?为了你的“钱途”,不要玩弄太多的技巧,当然技术研究是另外一码事。

篇3:数据库

1、交叉连接(即笛卡尔积 两个表相乘)

2、内连接

3、外连接

3.1左外连接

3.2右连接<?www.2cto.com/kf/ware/vc/“ target=”_blank“ class=”keylink“>vcD4KPHA+PGltZyBzcmM9”www.2cto.com/uploadfile/Collfiles/0423/2015042310050046.png“ alt=”\“>

3.3自连接(两张相同的表连接)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

子查询

篇4:数据库选择题

数据库选择题

1. 下面叙述正确的是___c___,

A、算法的执行效率与数据的存储结构无关

B、算法的空间复杂度是指算法程序中指令(或语句)的条数

C、算法的有穷性是指算法必须能在执行有限个步骤之后终止

D、以上三种描述都不对

2. 以下数据结构中不属于线性数据结构的是___c___。

A、队列B、线性表C、二叉树D、栈

3. 在一棵二叉树上第5层的`结点数最多是__b____。2的(5-1)次方

A、8 B、16 C、32 D、15

4. 下面描述中,符合结构化程序设计风格的是___a___。

A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B、模块只有一个入口,可以有多个出口

C、注重提高程序的执行效率 D、不使用goto语句

5. 下面概念中,不属于面向对象方法的是___d___。

A、对象 B、继承 C、类 D、过程调用

6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。

A、可行性分析 B、需求分析 C、详细设计 D、程序编码

7. 在软件开发中,下面任务不属于设计阶段的是__d____。

A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型

8. 数据库系统的核心是___b___。

A、数据模型 B、数据库管理系统 C、软件工具 D、数据库

9. 下列叙述中正确的是__c____。

A、数据库是一个独立的系统,不需要操作系统的支持

B、数据库设计是指设计数据库管理系统

C、数据库技术的根本目标是要解决数据共享的问题

D、数据库系统中,数据的物理结构必须与逻辑结构一致

10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___,

A、内模式 B、外模式 C、概念模式 D、逻辑模式

11. Visual FoxPro数据库文件是___d___。

A、存放用户数据的文件 B、管理数据库对象的系统文件

C、存放用户数据和系统的文件 D、前三种说法都对

12. SQL语句中修改表结构的命令是___c___。

A、MODIFY TABLE B、MODIFY STRUCTURE

C、ALTER TABLE D、ALTER STRUCTURE

13. 如果要创建一个数据组分组报表,第一个分组表达式是”部门“,第二个分组表达式是”性别“,第三个分组表达式是”基本工资“,当前索引的索引表达式应当是__b____。

A、部门+性别+基本工资 B、部门+性别+STR(基本工资)

C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资)

14. 把一个项目编译成一个应用程序时,下面的叙述正确的是___a___。

A、所有的项目文件将组合为一个单一的应用程序文件

B、所有项目的包含文件将组合为一个单一的应用程序文件

C、所有项目排除的文件将组合为一个单一的应用程序文件

D、由用户选定的项目文件将组合为一个单一的应用程序文件

15. 数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是_a___。

A、DBS包括DB和DBMS B、DBMS包括DB和DBS

C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS

篇5:选择题数据库

选择题数据库

. 以下数据结构中不属于线性数据结构的是___C___,

A、队列 B、线性表 C、二叉树 D、栈

2. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___B___。

A、可行性分析 B、需求分析 C、详细设计 D、程序编码

3. 结构化程序设计主要强调的是__B____。

A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性

4. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段__D__。

A、概要设计 B、详细设计 C、可行性分析 D、需求分析

5. 下列关于栈的叙述中正确的是__D____。

A、在栈中只能插入数据 B、在栈中只能删除数据

C、栈是先进先出的线性表 D、栈是先进后出的.线性表

6. 下面不属于软件设计原则的是___C___。

A、抽象 B、模块化 C、自底向上 D、信息隐蔽

7. 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为___B___,

A、N+1 B、N C、(N+1)/2 D、N/2

8. 视图设计一般有3种设计次序,下列不属于视图设计的是__B____。

A、自顶向下 B、由外向内 C、由内向外 D、自底向上

9. 下列有关数据库的描述,正确的是___C___。

A、数据库是一个DBF文件 B、数据库是一个关系

C、数据库是一个结构化的数据集合 D、数据库是一组文件

10. 下列说法中,不属于数据模型所描述的内容的是__C____。

A、数据结构 B、数据操作 C、数据查询 D、数据约束

11. 在下面的Visual FoxPro表达式中,运算结果是逻辑真的是__D____。

A、EMPTY(.NULL.) B、LIKE('acd','ac?') C、AT('a','123abc') D、EMPTY(SPACE(2))

篇6:数据库填空题

数据库填空题

若按功能划分,软件测试的方法通常分为白盒测试方法和__黑盒____测试方法,

如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体”工人“与实体”设备“之间存在_一对多_联系。

关系数据库管理系统能实现的专门关系运算包括选择、连接和__投影____。

命令?LEN(”THIS IS MY BOOK“)的结果是__15____。

SQL SELECT语句为了将查询结果存放到临时表中应该使用__Into cursor ____短语。

多栏报表的栏目数可以通过___页面设置___来设置。

在打开项目管理器之后再打开”应用程序生成器“,可以通过按ALT+F2键,快捷菜单和”工具“菜单中的__应用程序生成器____。

数据库系统的核心是___DBMS___。

查询设计器中的”联接“选项卡,可以控制__联接类型 或 联接条件____选择。

设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

用SQL的CREATE命令建立借阅表(字段顺序要相同),请对下面的.SQL语句填空:

__CREATE TABLE 借阅 (借书证号 C(4),总编号 C(6),借书日期 D(8))____

设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对图书管理数据库,查询由”清华大学出版社“或”电子工业出版社“出版,并且单价不超出20元的书名,

请对下面的SQL语句填空:

SELECT 书名,出版单位,单价 FROM 图书;

WHERE__单价<=20 _____ AND;

___(出版单位=”清华大学出版社“ OR 出版单位=”电子工业出版社") ____

设有图书管理数据库:

图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅(借书证号C(4),总编号C(6),借书日期D(8))

对图书管理数据库,求共借出多少种图书。请对下面的SQL语句填空:

SELECT __COUNT(DISTINCT 总编号) _____ FROM 借阅

篇7:数据库面试题

sql面试题

1,写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

答:

→ 解1: select top 10 * from A where id not in (select top 30 id from A)

演变步骤:

1)select top 30 id from T_FilterWordsC取前条

2)select * from T_FilterWords where id not in (select top 30 id from T_FilterWords)C取id不等于前三十条的C也就是把前条排除在外

3)select top 10 * from T_FilterWords where id not in (select top 30 id from T_FilterWords)

C取把前条排除在外的前条,也就是-40条

→ 解2: select top 10 * from A where id >(select max(id) from (select top 30 id from A )as A)

→ 解3:用ROW_NUMBER实现

/―――――――――――――――C+―――――――――――――――C\

下面的SQL题是常考题中的常考题,必须重视!!!!!!!!

2,横表、纵表转换(常考!!!)

1)纵表结构 TableA

Name Course Grade

张三 语文 75

张三 数学 80

张三 英语 90

李四 语文 95

李四 数学 55

横表结构 TableB

Name 语文 数学 英语

张三 75 80 90

李四 95 55 0

先理解:

select Name,

(case Course when ‘语文‘ then Grade else 0 end) as 语文,

(case Course when ‘数学‘ then Grade else 0 end) as 数学,

(case Course when ‘英语‘ then Grade else 0 end) as 英语

from TableA

然后理解标准答案:

select Name,

sum(case Course when ‘语文‘ then Grade else 0 end) as 语文,

sum(case Course when ‘数学‘ then Grade else 0 end) as 数学,

sum(case Course when ‘英语‘ then Grade else 0 end) as 英语

from TableA

group by Name

2)、横表转纵表的”SQL”示例

横表结构: TEST_H2Z

ID 姓名 语文 数学 英语

1 张三 80 90 70

2 李四 90 85 95

3 王五 88 75 90

转换后的表结构:

ID 姓名 科目 成绩

1 张三 语文 80

2 张三 数学 90

3 张三 英语 70

4 李四 语文 90

5 李四 数学 80

6 李四 英语 99

7 王五 语文 85

8 王五 数学 96

9 王五 英语 88

横表转纵表SQL示例:

SELECT 姓名,’语文’ AS 科目,语文 AS 成绩 FROM TEST_H2Z UNION ALL

SELECT 姓名,’数学’ AS 科目,数学 AS 成绩 FROM TEST_H2Z UNION ALL

SELECT 姓名,’英语’ AS 科目,英语 AS 成绩 FROM TEST_H2Z

ORDER BY 姓名,科目 DESC;

3,删除姓名、年龄重复的记录(只保留Id最大的一条)(常考!!!)

Id name age salary

1 yzk 80 1000

2 yzk 80 2000

3 tom 20 20000

4 tom 20 20000

5 im 20 20000

//取得不重复的数据

select * from Persons

where Id in

(

SELECT MAX(Id) AS Expr1

FROM Persons

GROUP BY Name, Age

)

→ 根据姓名、年龄分组,取出每组的Id最大值,然后将Id最大值之外的排除。

删除重复的数据:

delete from Persons

where Id not in

(

SELECT MAX(Id) AS Expr1

FROM Persons

GROUP BY Name, Age

)

4,下面是一个由*号组成的4行倒三角形图案。

→ 要求:1、输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”;2、在屏幕上打印这个指定了行数的倒三角形。

*******

*****

***

*

5,一个文本文件含有如下内容:

4580616022644994|3000|赵涛

4580616022645017|6000|张屹

4580616022645090|3200|郑欣夏

→ 上述文件每行为一个转账记录,第一列表示帐号,第二列表示金额,第三列表示开户人姓名。

创建一张数据库表(MS SQLServer数据库,表名和字段名自拟),请将上述文件逐条插入此表中。

如何学好Access数据库编程

大学怎么学好护理专业知识

软件测试职业规划范文

大学c语言学习心得体会感想

c语言学习总结

关于计算机学习心得体会

计算机网络职业规划书

软件工程师职业规划书

大学c语言学习心得体会

c语言心得体会

如何学好数据库
《如何学好数据库.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【如何学好数据库(共7篇)】相关文章:

软件测试简历自我评价2023-09-01

程序员自我评价精选2024-01-18

小学四年级数学教学计划2024-03-18

计算机专业学生职业生涯规划书2023-01-06

小学三年级数学的工作计划2022-11-10

四年级小学数学教学计划2023-11-25

电子商务职业规划2023-07-21

计算机职业规划书2022-12-22

初二物理怎样才能学好2023-04-29

物联网专业职业生涯规划书2022-12-29

点击下载本文文档