Study sets, textbooks, questions
Upgrade to remove ads
Introduction to databases
Terms in this set (66)
What types of databases/database applications are there?
numeric & textual databases
multimedia databases (have images, videos, audio)
data warehouses (large data)
real-time & active databases (e.g. for manufacturing)
many other applications
What is a database?
collection of related data
What is data?
known facts that can be recorded & have implicit meaning
What is a mini-world?
some part of the real world about which data is stored in a database e.g. student grades & transcripts at university
What is a database management system (DBMS)?
a software package/system to facilitate the creation & maintenance of a computerised database. DBMS software is generic- needs definition & stored database
What is a database system?
the DBMS software together with the data itself, sometimes applications are also included
What do DBMSs do?
1. define a particular database in terms of its data types, structures & constraints
2. construct or load the initial database contents on a secondary storage medium
3. manipulating the database
4. define a particular database in terms of its data types, structures & constraints
construct or load the initial database contents on a secondary storage medium
manipulating the database:
What does manipulating the database include?
1. retrieval: querying, generating reports
2. modification: insertions, deletions & updates to its contents
3. accessing the database through Web applications
What are some other features of DBMSs?
1. protection or security measures to prevent unauthorised access
2. "active" processing to take internal actions or data
3. presentation & visualisation of data
4. maintaining the database & associated programs over the lifetime of the database application- called database, software & system maintenance
What is an example of a mini-world & mini-world entities?
mini-world: part of a university environment
mini-world entities: students, courses, sections (of courses), (academic) departments, instructors
specify entities of the mini-world & the relationships between them
What are the main characteristics of the database approach?
1. self-describing nature of a database system
2. separation between programs & data
3. data abstraction
4. sharing of data & multi-user transaction processing
How are database systems self-describing?
a DBMS catalog stores the definition of a particular database (e.g. data structures, types, constraints, views, value ranges, etc), the description/definitions is called meta-data, allows the DBMS software to work with different database applications
How do databases have separation between programs & data?
called program-data independence, allows changing data structures & storage organisation without having to change the DBMS access programs, users do not need much knowledge to use it
How do databases have data abstraction?
support of multiple views of the data (user only sees data of interest to them), data model hides storage details & presents the user with a conceptual view of the database, programs refer to data model constructs rather than data storage details
How do databases share data & allow for multi-user transaction processing?
1. allowing a set of concurrent users to retrieve from & to update the database
2. concurrency control within the DBMS guarantees that each transaction is correctly executed or aborted
3. recovery subsystem ensures each completed transaction has its effect permanently recorded in the database
4. OLTP(Online Transaction Processing) allows hundreds of concurrent transactions to execute per second
What is a database catalog?
description of the data, metadata
What are the advantages of using databases?
1. controlling redundancy in data storage & in development & maintenance- avoid multiple versions of the same data
2. providing multiple interfaces to different classes of users, facilitate sharing data across users
3. restricting unauthorised access to data
4. providing storage structures (e.g. indexes) for efficient query processing
5. providing backup & recovery services
6. representing complex relationships among data
7. enforcing integrity constraints on the database
8. drawing inferences & actions from the stored data
What are the 3 key advantages of databases?
1. . flexibility to change data structures
2. availability of current information
3. economies of scale
How are databases flexible?
database structure may evolve as new requirements are defined
Why is it important that databases have current information available?
extremely important for online transaction systems e.g. airline, hotel, car reservations
Why is economies of scale important for databases?
wasteful overlap of resources & personnel can be avoided by consolidating data & applications across departments
When should you not use a DBMS?
1. main inhibitors (costs) of using a DBMS
2. when a DBMS may be unnecessary
3. when a DBMS may be unnecessary
What are the cost of using DBMSs?
high investment required for additional hardware, providing generality, security, concurrency control, recovery & integrity functions
When is a DBMS unnecessary?
if the database & applications are simple, well defined, an not expected to change or if access to data by multiple users is not required
When is a DBMS not sufficient?
1. if the database system is not able to handle the complexity of data because of modelling limitations
2. if there are stringent real-time requirements that may not be met because of DBMS overhead
3. if the database users need special operations not supported by the DBMS
What is a data model?
a set of concepts to describe the structure of a database, the data types, relationships & certain constraints that apply to data, may include basic operations for retrievals or updates (depends on type of data model used)
What is the structure & constraints of data models
1. constructs are used to define the database structure
2. constructs typically include elements (& their data types) as well as groups of elements (e.g. entity, record, table) & relationships within such groups
3. constraints specify some restrictions on valid data- these constraints must be enforced at all times
What are data model operations?
operations used for specifying database retrievals & updates by referring to the constructs of the data model
What do data model operations include?
operations on the data model may include (depends on model type):
1. basic model operations (e.g. generic insert, delete, update)
2. user-defined operations (e.g. compute_student_gpa, update_inventory)
What are the categories of data models?
1. conceptual (high-level, semantic) data models
2. physical (low-level, internal) data models
3. implementation (representational) data models
What are conceptual data models?
provide concepts that are close to the way many users perceive data
What are physical data models?
provide concepts that describe details of how data is stored in the computer
What are implementation data models?
provide concepts that fall between the above two, used by many commercial DBMS implementations (e.g. relational data models used in many commercial systems)
What are the types of data models?
1. relational model
2. network model
3. hierarchical model
4. object-oriented data models
5. object-relational models
What are the advantages of the network model?
1. network model is able to model complex relationships
2. can handle most situations for modelling using record types & relationship types
3. language is navigational- uses constructs like FIND, FIND member, FIND owner, FIND NEXT within set, GET, etc
4. programmers can do optimal navigation through the database
What are the disadvantages of the network model?
1. navigational & procedural nature of processing- cumbersome
2. database contains a complex array of pointers that thread through a set of records
3. little scope for automated "query optimisation"
What is a database schema?
the description of a database, includes descriptions of the database structure, data types & the constrains on the database
What is a schema diagram?
an illustrative display of (most aspects of) a database schema
What is a schema construct?
a component of the schema or an object within the schema e.g. STUDENT, COURSE
What is a database state?
the actual data/content stored in a database at a particular moment in time, includes the collection of all the data in the database, refers to the content of a database at a moment in time
aka database instance/occurrence/snapshot
What can the word instance also be applied to?
instance is also applied to individual database components e.g. record instance, table instance, entity instance
What is the initial database state?
the database state when it is initially loaded into the system
What is a valid state?
a state that satisfies the structure & constraints of the database
What is the difference between schema & state?
database schema changes infrequently
database state changes every time the database is updated
schema aka intension
state aka extension
What is the relational data model?
1. proposed in 1970, first commercial system in 1981-82
2. currently most dominant for developing database applications
3. e.g. MySQL, PostgreSQL, DB2 (commercial)
What is the three-schema architecture?
proposed to support DBMS characteristics of program-data independence & support of multiple views of the data.
Not explicitly used in commercial DBMS products but has been useful in explaining database system organisation
How does three-schema architecture define DBMS schemas at 3 levels?
1. internal schema at the internal level to describe physical storage structures & access paths (e.g. indexes), typically uses a physical data model
2. conceptual schema at the conceptual level to describe the structure & constraints for the whole database for a community of users, uses a conceptual or implementation data model
3. external schemas at the external level to describe the various use views, usually uses the same data model as the conceptual schema
Why are mappings among schema levels needed?
mappings among schema levels are needed to transform requests & data
What does programs refer to?
programs refer to an external schema & are mapped by the DBMS to the internal schema for execution
What happens to data extracted from the internal DBMS level?
data extracted from the internal DBMS level is reformatted to match the user's external view e.g formatting the results of an SQL query for display in a Web page. management system ensures data is stored correctly
What DBMS languages are there?
1. data definition language (DDL
2. data manipulation language (DML)
3. high level or non-procedural languages
4. low level or procedural languages
What is data definition language?
specify conceptual & internal schemas
What is data manipulation language?
used to query & manipulate the data base
What is a high level or non-procedural language?
includes the relational language SQL, may be used in a standalone way or may be embedded in a programming language
What is a low level or procedural language?
must be embedded in a general-purpose programming language
What is the data definition language like?
used by the DBA & database designers to specify the conceptual schema of a database.
in some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal & external schemas, SDL is typically realised via DBMS commands provided to the DBA & database designers
What is the data manipulation language like?
used to specify database retrievals & updates
DML commands (data sub-languages) can be embedded in a general purpose programming language (host language) e.g. C++, Java
a library of function can also be provided to access the DBMS from a programming language
alternatively, stand-alone DML commands can be applied directly (called a query language)
What is a centralised DBMS?
combines everything into single system including DBMS software, hardware, application programs & user interface processing software, user can still connect through a remote terminal however all processing is done at a centralised site
What is a three tier client-server architecture?
common for web applications
intermediate layer called application server or web server
stores the web connectivity software and the business logical part of the application
can enhance security- database server only accessible via middle tier, client cannot directly access database server
What is the classification of DBMSs based on the type of data model used?
1. traditional: relational, network, hierarchical
2. emerging: object-oriented, object-relational
What are some other classifications of DBMSs?
1. single-user (typically used with personal computers) vs multi-user (most DBMSs)
2. centralised (uses a single computer with 1 database) vs distributed (uses multiple computers, multiple databases)
What are the variations of distributed DBMSs?
1. homogeneous DDBMS
2. heterogeneous DDBMS
3. heterogeneous DDBMS
What is a homogeneous DDBMS?
same DBMS in all sites
What is a heterogeneous DDBMS?
several autonomous DBMS software at multiple sites connected through network
What is a federated or multidatabase system?
DBMSs loosely couples, have some autonomy
Sets found in the same folder
7 Relational Algebra 1
8 Relational Algebra 2
2: The Entity-Relationship Data Model
3: The Relational Data Model
Other sets by this creator
10 Sorting Algorithms
9 Search Tree Structures
8 Maps, Hash Tables & Dictionaries
7: Priority Queues & Heaps