数据库系统概述+相关DBMS

数据库系统概述

1.1.1 数据库技术与信息技术

信息技术(Information TechnologyIT)是当今使用频率比较高的一个名词,它随着计算机技术的发展,在各个行业日益广泛应用,已经被越来越多的企业所重视,其慢慢体现为一种标志,一种赶超世界潮流的标志,而数据库技术是信息技术中一个重要支撑,没有数据库技术,人们在浩瀚的信息世界中将显得手足无措。

1968年世界上第一个IMSInformation Manger System)系统诞生,从此,数据库技术得到了迅猛发展。现在数据库技术已经成为信息管理,办公自动化,计算机辅助设计等应用的主要软件之一,帮助人们处理各种各样的信息数据流。

1.1.2 数据库技术的应用及特点

     数据库最初是在大型企业作为大规模的事务处理的基础,后来随着个人计算机的发展,数据库技术被移植到PCPersonal Computer)上来,用于单用户个人数据处理,接着,由于网络技术的发展,PC机在工作组内联成网络,数据库技术就上升到工作组级,现在,数据库技术正被Internet和内联网的诸多应用使用着。

1.1.3 SQL Server 数据库系统和网络分布式操作

SQL Server 是由SybaseMicrosoftAshton-Tate联合开发的OS/2系统上的数据库系统,1988年正式投入使用,1990Ashton-Tate公司退出开发,1994Sybase也将重点转移到UNIX版本上的SQL Server开发,而Microsoft则致力于将其推向NT平台。1996SQLServer6.5诞生,1998SQLServer7.0发布,直到2000年,著名的SQLServer2000发布,在我写这篇文章时,Microsoft SQL-Server 2005 诞生了。

 

关于更多Microsoft SQL-Server 2005浏览http://blog.csdn.net/mssqlserver2005/archive/2005/07/21/430567.aspx

1.1.4 网络数据库系统编程

     在当今网络盛行的年代里,数据库与Web技术的结合正深刻改变着网络应用的面貌。有了数据库的支持,扩展了网页的功能,设计交互式网页,构造强大的后台管理系统,以及网站的更新,维护都将变得轻而易举,随着网络的应用,Web技术的数据库应用必将显示出其重要的地位。

     我本身喜欢数据库,更希望能在这方面有所作为。

 

数据库技术的发展

1.2.1 人工管理阶段

1.2.2 文件系统阶段

1.2.3 数据库系统阶段

1.2.3 .1数据库系统的特点:

数据库中的数据是结构化的,数据库中的数据冗余度小易扩充,较高的数据和程序独立性,数据库为用户提供了丰富的接口,数据库的自小存储单元是数据项。

1.2.3 .2数据库系统的控制功能

数据的安全性(Security)控制,数据的完整性约束,并发控制,数据库的恢复

1.2.3 .2数据库系统数据管理模型



My-SQL 数据库系统:

 

History of MySQL

We started out with the intention of using mSQL to connect to our tables using our own fast low-level (ISAM) routines. However, after some testing, we came to the conclusion that mSQL was not fast enough or flexible enough for our needs. This resulted in a new SQL interface to our database but with almost the same API interface as mSQL. This API was designed to allow third-party code that was written for use with mSQL to be ported easily for use with MySQL.

The derivation of the name MySQL is not clear. Our base directory and a large number of our libraries and tools have had the prefix “my” for well over 10 years. However, co-founder Monty Widenius's daughter is also named My. Which of the two gave its name to MySQL is still a mystery, even for us.

The name of the MySQL Dolphin (our logo) is “Sakila,” which was chosen by the founders of MySQL AB from a huge list of names suggested by users in our “Name the Dolphin” contest. The winning name was submitted by Ambrose Twebaze, an Open Source software developer from Swaziland , Africa . According to Ambrose, the feminine name Sakila has its roots in SiSwati, the local language of Swaziland . Sakila is also the name of a town in Arusha , Tanzania , near Ambrose's country of origin, Uganda .

 

The Main Features of MySQL

The following list describes some of the important characteristics of the MySQL Database Software. Internals and Portability

o        Written in C and C++.

o        Tested with a broad range of different compilers.

o        Works on many different platforms. See

o        Uses GNU Automake, Autoconf, and Libtool for portability.

o        APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available. Fully multi-threaded using kernel threads. It can easily use multiple CPUs if they are available.

o        Provides transactional and non-transactional storage engines.

o        Uses very fast B-tree disk tables (MyISAM) with index compression.

o        Relatively easy to add another storage engine. This is useful if you want to add an SQL interface to an in-house database.

o        A very fast thread-based memory allocation system.

o        Very fast joins using an optimized one-sweep multi-join.

o        In-memory hash tables, which are used as temporary tables.

o        SQL functions are implemented using a highly optimized class library and should be as fast as possible. Usually there is no memory allocation at all after query initialization.

o        The MySQL code is tested with Purify (a commercial memory leakage detector) as well as with Valgrind, a GPL tool (http://developer.kde.org/~sewardj/).

o        The server is available as a separate program for use in a client/server networked environment. It is also available as a library that can be embedded (linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.

·         Column Types

o        Many column types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types. Fixed-length and variable-length records.

·         Statements and Functions

o        Full operator and function support in the SELECT and WHERE clauses of queries. For example:

 
 o                     
 
 mysql> SELECT CONCAT(first_name, ' ', last_name)
  
  
 
 o                     
 
     -> FROM citizen
  
  
 
 o                     
 
     -> WHERE income/dependents > 10000 AND age > 30;
  
  

o        Full support for SQL GROUP BY and ORDER BY clauses. Support for group functions (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(), MAX(), MIN(), and GROUP_CONCAT()).

o        Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC syntax.

o        Support for aliases on tables and columns as required by standard SQL.

o        DELETE, INSERT, REPLACE, and UPDATE return the number of rows that were changed (affected). It is possible to return the number of rows matched instead by setting a flag when connecting to the server.

o        The MySQL-specific SHOW command can be used to retrieve information about databases, database engines, tables, and indexes. The EXPLAIN command can be used to determine how the optimizer resolves a query.

o        Function names do not clash with table or column names. For example, ABS is a valid column name. The only restriction is that for a function call, no spaces are allowed between the function name and the ‘(’ that follows it. See the section called “Treatment of Reserved Words in MySQL”.

o        You can mix tables from different databases in the same query (as of MySQL 3.22).

·         Security

o        A privilege and password system that is very flexible and secure, and that allows host-based verification. Passwords are secure because all password traffic is encrypted when you connect to a server.

·         Scalability and Limits

o        Handles large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.

o        Up to 64 indexes per table are allowed (32 before MySQL 4.1.2 ). Each index may consist of 1 to 16 columns or parts of columns. The maximum index width is 1000 bytes (500 before MySQL 4.1.2). An index may use a prefix of a column for CHAR, VARCHAR, BLOB, or TEXT column types.

·         Connectivity

o        Clients can connect to the MySQL server using TCP/IP sockets on any platform. On Windows systems in the NT family (NT, 2000, XP, or 2003), clients can connect using named pipes. On Unix systems, clients can connect using Unix domain socket files.

o        In MySQL versions 4.1 and higher, Windows servers also support shared-memory connections if started with the --shared-memory option. Clients can connect through shared memory by using the --protocol=memory option.

o        The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to connect to your MySQL server. Clients can be run on Windows or Unix. MyODBC source is available. All ODBC 2.5 functions are supported, as are many others. The Connector/J interface provides MySQL support for Java client programs that use JDBC connections. Clients can be run on Windows or Unix. Connector/J source is available.

·         Localization

o        The server can provide error messages to clients in many languages. Full support for several different character sets, including latin1 (cp1252), german, big5, ujis, and more. For example, the Scandinavian characters ‘å’, ‘ä’ and ‘ö’ are allowed in table and column names. Unicode support is available as of MySQL 4.1.

o        All data is saved in the chosen character set. All comparisons for normal string columns are case-insensitive.

o        Sorting is done according to the chosen character set (using Swedish collation by default). It is possible to change this when the MySQL server is started. To see an example of very advanced sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can be specified at compile time and runtime.

·         Clients and Tools

o        The MySQL server has built-in support for SQL statements to check, optimize, and repair tables. These statements are available from the command line through the mysqlcheck client. MySQL also includes myisamchk, a very fast command-line utility for performing these operations on MyISAM tables. See

 

Y2K Issues and Date Types

MySQL itself is year 2000 (Y2K) safe, but input values presented to MySQL may not be. Any input containing two-digit year values is ambiguous, because the century is unknown. Such values must be interpreted into four-digit form because MySQL stores years internally using four digits.

For DATETIME, DATE, TIMESTAMP, and YEAR types, MySQL interprets dates with ambiguous year values using the following rules:

·         Year values in the range 00-69 are converted to 2000-2069.

·         Year values in the range 70-99 are converted to 1970-1999.

Remember that these rules provide only reasonable guesses as to what your data values mean. If the heuristics used by MySQL do not produce the correct values, you should provide unambiguous input containing four-digit year values.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值