Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

BONUS TIME !!!!

Databases & Data Warehouses

Database Management System (DBMS) - programs that manage large,


structured sets of persistent data.

A Database model describes the relationship between the data


elements and provides a framework for organizing the data.

Hierarchical - combines data that is related into a logical


tree structure. Uses a one to many relationship where each node may
have zero, one, or many children, but only one parent

Distributed - data stored in multiple databases that are


logically connected. Users perceive that database as being a single
monolithic entity. Fields may have many child / parent
relationships, so data mapping is a many to many relationship

Relational - allows data to be structured in a series of


tables that have columns representing the variables and rows that
contain specific instances of data.

Each table, or relation, in the relational model consists of a set


of attributes and a set of tuples (rows) or entries in the table.
Attributes correspond to a column in a table.

All data values in the relational model are atomic. Atomic values
mean that at every row/column position in every table there is
always exactly one data value and never a set of values.

There are no links or pointers connecting tables; thus, the


representation of relationships is contained as data in another
table.

A tuple of a table corresponds to a row in the table.

The primary key is an attribute or set of attributes that uniquely


identifies a specific instance of an entity. Each table in a
database must have a primary key that is unique to that table. It is
a subset of the candidate key. Any key that could be a primary key
is called a candidate key.

The candidate key is an attribute that is a unique identifier within


a given table. One of the candidate keys is chosen to be the primary
key, and the others are called alternate keys.

Primary keys provide the sole tuple-level addressing mechanism


within the relational model. They are the only guaranteed method of
pinpointing an individual tuple; therefore, they are fundamental to
the operation of the overall relational model.

The primary keys cannot contain a null value and cannot change or
become null during the life of each entity.

When the primary key of one relation is used as an attribute in


another relation, it is the foreign key in that relation. If an
attribute (value) in one table matches those of the primary key of
some other relation, it is considered the foreign key.

The link (or matches) between the foreign and primary keys
represents the relationships between tuples.

Foreign keys also provide a method for maintaining referential


integrity in the data and for navigating between different instances
of an entity.

cardinality = # of rows

degree = # of columns

domain = set of allowable values that an attribute can take

normalization = process of organizing the columns (attributes) and


tables (relations) of a relational database to minimize data
redundancy

ACID Model:

Atomicity: Is when all the parts of a transaction’s execution are


either all committed or all rolled back. Atomicity ensures there is
no erroneous data in the system or data that does not correspond to
other data as it should.

Consistency: Occurs when the database is transformed from one valid


state to another valid state. Illegal transactions are not allowed,
and if an integrity constraint cannot be satisfied, the transaction
is rolled back to its previously valid state and the user is
informed that the transaction has failed.

Isolation: The results of a transaction are invisible to other


transactions until the transaction is complete.

Durability: The results of a completed transaction are permanent.

Concurrency - a preventative control that ensures information is


always correct, ensuring availability & integrity. Uses a "locking"
mechanism to prevent multiple users from accessing the same piece of
data and making changes at the same time.

Structured Query Language (SQL) - The main components of a database


using SQL are:

Schemas: Describes the structure of the database, including any


access controls limiting how the users will view the information
contained in the tables.

Tables: The columns and rows of the data are contained in tables.

Views: Defines what information a user can see in the tables — the
view can be customized so that an entire table may be visible or a
user may be limited to only being able to see just a row or a
column. Views are created dynamically by the system for each user
and provide access control granularity.

Database Interface Languages -

a. Open Database Connectivity (ODBC)


b. Java Database Connectivity (JDBC)
c. eXtensible Markup Language (XML)
d. Object Linking and Embedding Database (OLE DB)
e. ActiveX Data Objects (ADO)

Metadata - data about data

Online Analytical Processing (OLAP) - provides the ability to


formulate queries and, based on the outcome of the queries, define
further queries

Vulnerabilities -

Aggregation - The ability to combine non-sensitive data from


separate sources to create sensitive information.

Bypass Attacks - Users attempt to bypass controls at the front end


of the database application to access information.

Concurrency (TOC/TOU) - When actions or processes run at the same


time, they are said to be concurrent. Problems with concurrency
include running processes that use old data, updates that are
inconsistent, or having a deadlock occur.

Data Contamination - The corruption of data integrity by input data


errors or erroneous processing. This can occur in a file, report, or
database.

Deadlocking - Occurs when two users try to access the information at


the same time and both are denied.

Inference - The ability to deduce (infer) sensitive or restricted


information from observing available information.

You might also like