Lecture 1 Flashcards
Database
Information that is organised so that is easily accessed, managed and updated.
DBMS
Handles the storage, retrieval, and updating of data in a computer system (it’s software).
Generations of Database Systems
First-generation — Hierarchical, Network
Second generation — Relational
Third generation — Object-Relational, Object-Oriented
Relational databases
- data stored in predefined tables
- rows and columns
- attributes in a relation are called a domain
- the model also accounts for the types of relationship between those tables, including 1:1, 1:M, M:M
- a particular attribute (or combination of attributes) is chosen as a Primary Key that can be referred to in other tables, and in this case it’s called a Foreign Key
- tabels can be normalized
- typically written in SQL
Flat file
a single table (.csv files)
Hierarchical
- parent-child tree
- usually XLM
- cons
- no M:M; each child in the tree may only have one parent
- relationships or linages between children are not permitted
- adding a new field or record requires that the entire database is redefined
- pros
- can be accessed and updated rapidly
- great for storing items that describe attributes
Network
- similar to hierarchical, but a child can have multiple parents
- allows M:M
- uses SQL for data manipulation
Object oriented
- an object can be a table, but it is not limited to being a table only
- stores objects as they programmed, without the need of conversion or decomposition, also maintaining relationships (e.g., inheritance)
- databases follow an object oriented data model with classes, properties and methods
- an object is always managed as a whole; system enables data and its attribute to function as a single unit
- this means for example, that the insertion of an object, which in a relational system would probably be stored in multiple tables, will be performed automatically as one atomic transaction — without any action by the application program; reading an object can also be done as a single operation and without complex joins.
- based on the function that data and its concerning object are treated as a single unit
object-relational database
only allows data to be in tables, no other data type/structure
Graph
- NoSQL databases
- use a graph structure for semantic queries
- data is stored in form of nodes, edges, and properties
- a node represent an entity or instance such as customer, person, or a car (a node is equivalent to a record in a relational database system)
- an edge in a graph database represents a relationship that connects nodes
- properties are additional information added to the nodes.
With a vast amount of data, the patterns and connections in data become as important as the data itself.
vertical prototyping vs. horizontal prototyping
Vertical prototype
Function-based. Used in the later stages of analysis and design to drill down and elaborate on specific features or functions.
Horizontal Prototypes
Give a broad view of the application.
entity-relations model
- E-R Model can be expressed as the collection of entities, also called as realword objects and relations between those entities
- No two entities should be identical
E-R model deals with entities and their relations
Relational Model deals with tables and relation between the data of those tables