A database is an application that can store and retrieve data very rapidly. The relational bit refers to how the data is stored in the database and how it is organized. When we talk about database, we mean a relational database, in fact an RDBMS - Relational Database Management System.
In a relational database, all data is stored in tables. These have the same structure repeated in each row (like a spreadsheet) and it is the relations between the tables that make it a "relational" table.
Before relational databases were invented (in the 1970s), other types of database such as hierarchical databases were used. However relational databases have been very successful for companies like Oracle, IBM and Microsoft. The open source world also has RDBMS.
Commercial Databases
- Oracle
- IBM DB 2
- Microsoft SQL Server
- Ingres. The first commercial RDBMS.
- MySQL
- PostgresSQL
- SQLite
Strictly these are not relational databases but RDBMS. They provide security , encryption, user access and can process SQL queries.
Codd was a computer scientist who devised the laws of normalization in 1970. This was a mathematical way of describing the properties of a relational database using tables. He came up with 12 laws that describe what a relational database and a RDBMS does and several laws of normalization that describe the properties of relational data. Only data that had been normalized could be considered relational.
Consider a spreadsheet of client records that is to be put into a relational database. Some clients have the same information, say different branches of the same company with the same billing address. In a spreadsheet this address is on multiple rows.
In turning the spreadsheet into a table, all the client's text addresses must be moved into another table and each assigned a unique ID- say the values 0,1,2. These values are stored in the main client table so all rows use the ID not the text. A SQL statement can extract the text for a given ID.
Think of it as being like a rectangular spreadsheet made up of rows and columns. Each column specifies the type of data stored (numbers, strings or binary data - such as images).
Unlike a spreadsheet where the user is free to have different data on each row, in a database table, every row can only contain the types of data that were specified.
In C and C / C++ / C# , this is like an array of structs, where one struct holds the data for one row.
- For more information see Normalizing a database in the Database Design part of databases.about.com.
- 上一篇:没有了
- 下一篇:没有了