![]()
Contents
Modern Database Management
Rationale
A Database is a collection of logically related data designed to meet the information needs of one or more users. The term originated within the computer industry, but its meaning has been broadened by popular use, to the extent that the European Database Directive (which creates intellectual property rights for databases) includes non-electronic databases within its definition. This article is confined to a more technical use of the term; though even amongst computing professionals, some attach a much wider meaning to the word than others.
A possible definition is that a database is a collection of records stored in a computer in a systematic way, so that a computer program can consult it to answer questions. For better retrieval and sorting, each record is usually organized as a set of data elements (facts). The items retrieved in answer to queries become information that can be used to make decisions. The computer program used to manage and query a database is known as a database management system (DBMS). The properties and design of database systems are included in the study of information science.
The central concept of a database is that of a collection of records, or pieces of knowledge. Typically, for a given database, there is a structural description of the type of facts held in that database: this description is known as a schema. The schema describes the objects that are represented in the database, and the relationships among them. There are a number of different ways of organizing a schema, that is, of modeling the database structure: these are known as database models (or data models). The model in most common use today is the relational model, which in layman's terms represents all information in the form of multiple related tables each consisting of rows and columns (the true definition uses mathematical terminology). This model represents relationships by the use of values common to more than one table. Other models such as the hierarchical model and the network model use a more explicit representation of relationships.
Strictly speaking, the term database refers to the collection of related records, and the software should be referred to as the database management system or DBMS. When the context is unambiguous, however, many database administrators and programmers use the term database to cover both meanings.
Many professionals would consider a collection of data to constitute a database only if it has certain properties: for example, if the data is managed to ensure its integrity and quality, if it allows shared access by a community of users, if it has a schema, or if it supports a query language. However, there is no agreed definition of these properties.
Database management systems are usually categorized according to the data model that they support: relational, object-relational, network, and so on. The data model will tend to determine the query languages that are available to access the database. A great deal of the internal engineering of a DBMS, however, is independent of the data model, and is concerned with managing factors such as performance, concurrency, integrity, and recovery from hardware failures. In these areas there are large differences between products.
- Client-Server
- Database dump
- Database management system
- Data Manipulation Language
- Database normalization
- Databases in the United Kingdom
- Deadlock
- Deductive database
- Dimensional database
- Distributed database
- Entity-relationship model
- Flat file database
- Hierarchic Database
- Key field
- Main Memory database
- MUMPS
- Multidimensional hierarchical toolkit
- Multidimensional database
- OLAP
- ODBC
- Recordset : dynaset, snapshot
- Relational model
- SQL (Structured Query Language)
- Object database
- Important publications in databases
- Redundancy (databases)
- Software engineering and List of software engineering topics
- Temporal database
- Very large database
Today's Videos
- Connect with us on http://www.youtube.com/finntrack
- Google's Playlists
Teaching and Learning Resources

The Database Environment
- An Introduction to Databases and Database Management Systems
- Introduction to Databases for Web Developers
- Linda for global WWW-based transaction processing systems
- Overcoming the limitations of conventional vector processors
A Database Management System (DBMS) is computer software designed for the purpose of managing databases. Typical examples of DBMSs include Oracle, Microsoft SQL Server, MySQL, and FileMaker. DBMSs are typically used by Database administrators in the creation of Database systems.
|
|
![]() |
The Database Development Process
Lectures and Tutorials
Readings
The design process consists of the following steps[3]:
Determine the purpose of your database - This helps prepare you for the remaining steps.
Find and organize the information required - Gather all of the types of information you might want to record in the database, such as product name and order number.
Divide the information into tables - Divide your information items into major entities or subjects, such as Products or Orders. Each subject then becomes a table.
Turn information items into columns - Decide what information you want to store in each table. Each item becomes a field, and is displayed as a column in the table. For example, an Employees table might include fields such as Last Name and Hire Date.
Specify primary keys - Choose each table’s primary key. The primary key is a column that is used to uniquely identify each row. An example might be Product ID or Order ID.
Set up the table relationships - Look at each table and decide how the data in one table is related to the data in other tables. Add fields to tables or create new tables to clarify the relationships, as necessary.
Refine your design - Analyze your design for errors. Create the tables and add a few records of sample data. See if you can get the results you want from your tables. Make adjustments to the design, as needed.
Apply the normalization rules - Apply the data normalization rules to see if your tables are structured correctly. Make adjustments to the tables
- [1]
- [2]
- Database Normalization Basics by Mike Chapple (About.com)
- Database Normalization Intro, Part 2
- An Introduction to Database Normalization by Mike Hillyer.
- Normalization by ITS, University of Texas.
- Efficient Database Design
- Data Modelers Community
- Database Development
- Database Development Methodology
- Agile Enterprise Architecture
- A framework for information systems architecture
- Extending and formalizing the framework for information systems architecture
Modeling Data in the Organization
Lectures and Tutorials
Readings
In computer science, data modeling is the process of structuring and organizing data. These data structures are then typically implemented in a database management system. In addition to defining and organizing the data, data modeling may also impose constraints or limitations on the data placed within the structure.
Managing large quantities of structured and unstructured data is a primary function of information systems. Data models describe structured data for storage in data management systems such as relational databases. They typically do not describe unstructured data, such as word processing documents, email messages, pictures, digital audio, and video. Early phases of many software development projects emphasize the design of a conceptual data model. Such a design can be detailed into a logical data model. In later stages, this model may be translated into physical data model.
- [1] for articles on the subject.
- Data Modelling Tools from DatabaseAnswers.com
- Article Database Modelling in UML from Methods & Tools
- Data Modelling Dictionary
- Swiss based ECOFIN is a leading provider of financial data models
- Data modeling articles
- For Generic Data Modeling see:
Physical Database Design and Performance
Lectures and Tutorials
Readings
Database design is the process of producing a detailed data model of a database. This logical data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a Data Definition Language, which can then be used to create a database. A fully attributed data model contains detailed attributes for each entity.
The term database design can be used to describe many different parts of the design of an overall database system. Principally, and most correctly, it can be thought of as the logical design of the base data structures used to store the data. In the relational model these are the tables and views. In an object database the entities and relationships map directly to object classes and named relationships. However, the term database design could also be used to apply to the overall process of designing, not just the base data structures, but also the forms and queries used as part of the overall database application within the database management system (DBMS).[1]
The process of doing database design generally consists of a number of steps which will be carried out by the database designer. Usually, the designer must:
- Determine the relationships between the different data elements.
- Superimpose a logical structure upon the data on the basis of these relationships.[2]
- ER Diagram (Entity-relationship model)
- The Design Process
- Determining data to be stored
- Normalization
- Types of Database design
- Database normalization
- Relational database
- Relational model
- POOD (Principle of Orthogonal Design)
- The Third Manifesto
- Concept mapping
- Data modeling
- Entity-relationship model
- Object-relationship modelling
- Object role modeling
- Knowledge representation
- Logical data model
- Mindmap
- Physical data model
- Semantic Web
- Three schema approach
- References
- Further reading
- [1]
- [2]
- Database Normalization Basics by Mike Chapple (About.com)
- Database Normalization Intro, Part 2
- An Introduction to Database Normalization by Mike Hillyer.
- Normalization by ITS, University of Texas.
- Database design at the Open Directory Project
- Conceptual, Logical, and Physical Data Models
- A simple bounded disorder file organization with good performance
The Enhanced E-R Model and Business Rules
Lectures and Tutorials
Readings
In computer science, an entity-relationship model (ERM) is a model providing a high-level description of a conceptual data model. Data modeling provides a graphical notation for representing such data models in the form of entity-relationship diagrams (ERD). The first stage of information system design uses these models to describe information needs or the type of information that is to be stored in a database during the requirements analysis. The data modeling technique can be used to describe any ontology (i.e. an overview and classifications of used terms and their relationships) for a certain universe of discourse (i.e. area of interest). In the case of the design of an information system that is based on a database, the conceptual data model is, at a later stage (usually called logical design), mapped to a logical data model, such as the relational model; this in turn is mapped to a physical model during physical design. Note that sometimes, both of these phases are referred to as "physical design".
There are a number of conventions for entity-relationship diagrams (ERDs). The classical notation is described in the remainder of this article, and mainly relates to conceptual modelling. There are a range of notations more typically employed in logical and physical database design, including information engineering, IDEF1x (ICAM DEFinition Language) and dimensional modelling.
- Entity
- Relational model
- Object Role Modeling (ORM)
- Unified Modeling Language (UML)
- Data structure diagram
- Dia - an open source program to draw ER diagrams
- ConceptDraw - crossplatform software for creating ER Diagrams
- References
- Gershwin - An entity-relationship modelling tool developed by Monash University
- ConceptDraw - tool for generating ER diagrams by existing database
- Grandite's SILVERRUN ModelSphere - integrated modeling software
- Peter Chen home page at Louisiana State University http://bit.csc.lsu.edu/~chen/chen.html
- IDEF1X
- Data Modeling & SQL
- useful symbols used in drawing ER diagrams
- ER diagrams and their conversion to relational databases
Logical Database Design and the Relational Model
Lectures and Tutorials
Readings
In computer science, a Logical Data Model is an abstract DBMS-independent representation of a set of data entities and their relationships within the scope of a system.
A logical data model typically includes all the entities and their attributes that correspond to a set of specified information requirements, which includes the definition of logical constraints on these attributes: primary, alternate key, foreign key, subtyping, data types, and domain of valid values.
The purpose of a logical data model is: a) to give a normalized and graphical representation of the scoped business data requirements and related data business rules to the stakeholders; b) promote understanding and communication between stakeholders and the modeler; c) correct and validate the assumptions about the scope specifications of the data related requirements and business rules.
It is not intended to be a representation of a physical database. It is typically produced early in system design, it the successor to a conceptual data model, and it is frequently a precursor to the physical data model that documents the DBMS-dependent design of a database, schema, or portion thereof, and its actual implementation.
The Relational Model for database management is a data model based on predicate logic and set theory. It was invented by Edgar Codd.
- The model
- Interpretation
- Application to databases
- Competition
- History
- SQL standard
- Implementation
- Controversies
- Design
- Example database
- Set-theoretic formulation
- Database Design Methodology
- Logical database design and database implementation
- Relations and Logic: properties of relations
- Referential Integrity in the E-R Model
- Normalisation
Introduction to SQL
Lectures and Tutorials
Readings
SQL (commonly expanded to Structured Query Language — see History for the term's derivation) is the most popular computer language used to create, modify, retrieve and manipulate data from relational database management systems. The language has evolved beyond its original purpose to support relational database management systems. It is an ANSI/ISO standard.
SQL is commonly spoken in initialism-style ess-cue-el (see English alphabet) — regarded as more formal — or in a phonetically-amalgamated form that mirrors the English word sequel. Concerning the names of major database products (or projects) containing the letters SQL, each has its own convention: MySQL is officially and commonly pronounced "My Ess Cue El"; PostgreSQL is expediently pronounced postgres; and Microsoft SQL Server is commonly spoken as Microsoft-sequel-server.
- History
- Scope
- SQL keywords
- Database systems using SQL
- Criticisms of SQL
- Alternatives to SQL
- References
- The 1995 SQL Reunion: People, Projects, and Politics (early history of SQL)
- SQL:2003, SQL/XML and the Future of SQL (webcast and podcast with Jim Melton, editor of the SQL standard)
- TenMinuteTutor guide to SQL
- A Gentle Introduction to SQL at SQLzoo
- SQL Help and Tutorial
- The SQL Language (PostgreSQL specific details included)
- SQL Exercises. SQL DML Help and Tutorial
- SQL Tutorial.
- Kihlman's SQL
- A free SQL cookbook for all SQL dialects
- Online Interactive SQL Tutorials
- How well Oracle, DB2, MSSQL support the SQL Standard
Advanced SQL
Lectures and Tutorials
Readings
This advanced SQL tutorial focuses on the design of more complex SQL statements and the strategies available for implementing them, it concentrates on sub queries and joins because they are often inter-changeable, and views because these are often used to hide the complexity of queries involving sub-queries and joins.
As this is an advanced tutorial there is some consideration of performance issues, but this aspect is more thoroughly explored in our series on Oracle performance tuning.
You might also be interested in our beginner's SQL tutorial, our PL/SQL tutorials and our Oracle tutorials.
Read More ...
This unique SQL Tutorial is the "sequel" to the highly successful SQLCourse.com site and will provide you with more advanced easy-to-follow SQL Instruction and the ability to practice what you learn on-line with immediate feedback! You will receive immediate results on a web page after submitting your SQL Commands.
This continuation course will provide you with critical need-to-know advanced features and clauses of the SELECT statement that weren't supported in the previous SQLCourse.com site. Everything you learn here will be ANSI SQL compliant and should work with most SQL databases such as Oracle, SQL Server, mySQL, MS Access, Informix, Sybase, or any other ANSI SQL compliant database.
If you're already familar with the basics of SQL, you can still use this as a refresher, and practice some SQL statements.
The Client/Server Database Environment
Lectures and Tutorials
Readings
The client–server model of computing is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.[1] Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server machine is a host that is running one or more server programs which share their resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await incoming requests.
- Hybrid client
- Inter-server
- Mainframe computer
- Mobile software
- Name server
- Observer pattern
- Push technology
- Pull technology
- Servent
- Standalone server
- Thin client
- Multitier architecture
- Client (computing)
- Server (computing)
- References
- "Distributed Application Architecture". Sun Microsystem. http://java.sun.com/developer/Books/jdbc/ch07.pdf. Retrieved 2009-06-16.
External links
![]() |
Exam
70-229, Second Edition Check
the availability and buy your books from our Bookshop. |
The Internet Database Environment
Lectures and Tutorials
Readings
- The Internet Database Environment
- Overview of SGML Resources
- Extensible Markup Language (XML)
- The Fast Common Gateway Interface
Database-Enabled Web Applications
Data Warehousing
Lectures and Tutorials
Readings
A Data Warehouse is a computer database that collects, integrates and stores an organization's data with the aim of producing accurate and timely management information and supporting data analysis.
- Definition of a Data Warehouse
- History of data warehousing
- Components of a data warehouse
- Different methods of storing data in a data warehouse
- Advantages of using data warehouse
- Concerns in using data warehouse
- Business intelligence
- Business performance management
- Chief Performance Officer
- Data mart
- Data mining
- Compare with: Data integration
- Database management system
- Executive information system
- Extract, transform, load
- Intelligent document
- Master Data Management
- OLAP
- OLTP
- Operational data store
- Snowflake schema
- Star schema
- Teramanager
- References
- Data Warehousing Technology
- Articles: Data Warehouse Architecture and Modeling
- Enterprise Data Warehousing
- Operational Data Store (ODS)
- Logical Data Mart
Workshop
Data and Database Administration
Lectures and Tutorials
Readings
A Database Administrator (DBA) is a person who is responsible for the environmental aspects of a database. In general, these include:
- Recoverability - Creating and testing Backups
- Integrity - Verifying or helping to verify data integrity
- Security - Defining and/or implementing access controls to the data
- Availability - Ensuring maximum uptime
- Performance - Ensuring maximum performance given budgetary constraints
- Development and testing support - Helping programmers and engineers to efficiently utilize the database.
The role of a database administrator has changed according to the technology of database management systems (DBMSs) as well as the needs of the owners of the databases. For example, although logical and physical database design are traditionally the duties of a database analyst or database designer, a DBA may be tasked to perform those duties.
- Duties
- Definition of Database
- Recoverability
- Integrity
- Security
- Availability
- Performance
- Development/Testing Support
- Remote Database Administration is the process of outsourcing the database administrator's job function.
- http://www.dbazine.com/ofinterest/oi-articles/dba-1 - five part article describing the job of database administrator (DBA)
Distributed Databases
Lectures and Tutorials
Readings
A Distributed Database is a database that is under the control of a central database management system (DBMS) in which storage devices are not all attached to a common CPU. It may be stored in multiple computers located in the same physical location, or may be dispersed over a network of interconnected computers.
Collections of data (eg. in a database) can be distributed across multiple physical locations. A distributed database is distributed into separate partitions/fragments. Each partition/fragment of a distributed database may be replicated (ie. redundant fail-overs, RAID like).
Besides distributed database replication and fragmentation, there are many other distributed database design technologies. For example, local autonomy, synchronous and asynchronous distributed database technologies. These technologies' implementation can and does definitely depend on the needs of the business and the sensitivity/confidentiality of the data to be stored in the database. And hence the price the business is willing to spend on ensuring data security, consistency and integrity.
|
![]() |
Object-Oriented Data Modeling
Lectures and Tutorials
Readings
An Object Database is a database in which information is represented in the form of objects. The database management system for an object database is referred to variously as a ODBMS or OODBMS (object-oriented database management system).
There are two main factors that lead users to adopt object database technology. Firstly, a relational database becomes cumbersome to use with complex data. Secondly, data is generally manipulated by application software written using object-oriented programming languages and tools such as C++, Java, Borland Delphi and C#, and the code needed to translate between this representation of the data and the tuples of a relational database can be tedious to write, and time-consuming to execute. This mismatch between the models used to represent information in the application programs and the database is sometimes referred to as an impedance mismatch.
- History
- Adoption of object databases
- Technical features
- Advantages and disadvantages
- Standards
- References and notes
- Object Oriented Modeling Methods
- Object-oriented modeling of geodata as a basic tool for the integration of heterogeneous paleoecological information
- The UML Class Diagram
- UML 2 Sequence Diagrams
Object-Oriented Database Development
Lectures and Tutorials
Readings
Recommended
Texts
![]() |
Modern
Database Management, 7/E
Check the availability and buy your books from our Bookshop. |
![]() |
Database
Management Systems, 3/e Check the availability and buy your books from our Bookshop. |
![]() |
The
Object Database Handbook: How to Select, Implement, and
Use Object-Oriented Databases Check the availability and buy your books from our Bookshop. |
![]() |
Joe
Celko's SQL for Smarties: Advanced SQL Programming, 3rd Edition Check
the availability and buy your books from our Bookshop. |
Resources

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
An Oracle Database consists of a collection of data managed by an Oracle database management system. Popular generic usage also refers to the DBMS management software, but not necessarily a specific database under its control.
One can refer to the Oracle database management system unambiguously as Oracle DBMS or (since it manages databases which have relational characteristics) as Oracle RDBMS.
Oracle Corporation itself blurs the very useful distinction between:
- data managed by an Oracle RDBMS
- an Oracle database, and
- the Oracle RDBMS software itself
when it refers nowadays to the Oracle RDBMS (the software it sells for the purpose of managing databases) as the Oracle Database. The distinction between the managed data (the database) and the software which manages the data (the DBMS / RDBMS) relies, in Oracle's marketing literature, on the capitalisation of the word database.
Oracle Corporation produces and markets the Oracle DBMS, which many database applications use extensively on many popular computing platforms.
Larry Ellison and his friends and former co-workers Bob Miner and Ed Oates - who had started a consultancy called Software Development Laboratories (SDL) - developed the original Oracle DBMS software. They called their finished product Oracle after the code name of a CIA-funded project they had worked on while previously employed by Ampex.
- Database structure
- History
- Version numbering conventions
- Editions
- Host platforms
- Related products and tools
- Getting started
- List of firsts
- Competition
- Pricing
- Oracle Home
- Oracle Database, a view provided by Oracle Corporation
- On-line documentation
- Oracle Technology Network
- Metalink, Oracle's online support site - requires a password
- Ask Tom - Oracle questions addressed by Thomas Kyte
- Oracle Forums: OTN and OraFAQ (both require free registration to log in)
- Oracle-Rdb for OpenVMS



























































