Chapters 1-3 Flashcards
What are the Limitations of File-based Systems
- Separated and Isolated Data
- Duplication of Data
- Data Dependency
What is a DBMS
Database Management System, a software package/system that manages and organizes databases
What is a Data Record
Collection of information organized in a table
What is a Data Element
Specifies the type of data in a column
What is a Datatype
Attribute that specifies the held object’s datatype
What are the Main Characteristics of the Database Approach
- Self Describing
- Insulation Between Programs and Data
- Data Abstraction
- Support Multiple Views of the Data
- Sharing of Data and Multi-user Transaction
How is a Database System Self-describing
A database is structured in such a way that it contains the database and metadata of data.
What is Metadata?
Data that provides information about other data
What is a Database
Collection of structured inter-related data
What are the Advantages of a DBMS
- Controls Data Redundancy
- Data Sharing
- Easy Maintenance
- Reduce Time
- Multiple User Interface
What are the Disadvantages of DBMS
- Cost of Hardware and Software
- Complexity
- Higher Impact of Failure
What are the Types of Databases
- Centralized Database
- Distributed Database
- Relational Database
- NoSQL Database
- Cloud Database
- Object-oriented Database
- Hierarchical Database
- Network Database
- Personal Database
- Operational Database
- Enterprise Database
What are the Two Approaches in Maintaining Databases
- Traditional File Based Approach
- Centralized DBMS Approach
What is a File-based System
- Early Attempt using COBOL
- Data is stored in flat files
Who are the Actors in a Database?
- Database Administrator: monitoring, maintaining, authorizing
- Database Designers: Define content, structure, and constraints of database
- End Users: people whose jobs require database access
- System Analysts: Determine end-user requirements
- Application Programmers: implement specifications
- DBMS System Designers and Implementers: design and implement software packages
- Tool Developers: Design and implement tools
- Operators and Maintenance Personnel: Responsible for the actual running and maintenance of hardware and software
Advantages of Using the DBMS Approach
- Controlling Redundancy
- Reduced Application Development Time
- Flexibility to Change Data Structures
- Availability of Current Information
- Economies of Scale
When not to Use a DBMS
- Simple Data storage
- Low Data Volume
- Limited Resources
- Simple Read-only Applications
- Cost Considerations
- Complexity of Implementation
What is Data
Collection of raw facts
What is a RDBMS
A relational database management system stores data in a tabular form (relations)
What are the Parts of a Table
- Columns: Attributes
- Rows: Records
What is a Primary Key
Unique identifier that makes each row unique
What is a Foreign Key
Used to create a relationship between two tables
What are Relationships
Data in different tables linked using primary and foreign keys
What are the 3 common types of relationships?
- One-to-One: one record to one record
- One-to-Many: one record to many records
- Many-to-Many: multiple records in one table to multiple others in another table
What are the Properties of RDBMS
- Atomicity: operations only fail or succeed
- Consistency: any transaction will not violate database rules or constraints
- Isolation
- Durability: Ensures committed data is permanent
What is an HDBMS
A hierarchical database management system stores data in the form of parent-child relationship nodes like a tree
Define the Parent-child relationship in HDBMS
Parents can have multiple children, but children can only have one parent
What is an NDBMS
A Network Database Management System organizes data in a graph structure
What is an OODBMS
An object-oriented database management system uses an object-oriented data model for storing data, where objects replace tables and records replace instances
Define how objects are structured in OODBMS
Each data can contain data (attributes) and functions (methods)
What is a NoSQL DBMS
Designed to store large volumes of unstructured and semi-structured data using different methods
What are the different types of NoSQL Databases?
- Document-based: storing data into documents
- Key-value: data is stored in a key-value database where each item contains keys and values
- Column-based: data is stored in tables, rows, and dynamic columns and different rows can have different sets of columns
- Graph-based: storing data in the form of nodes (nouns) and edges (relationships)
What is Metadata?
defines structure, constraints, and properties of data in the database
What is a DDL?
Data Description Language is a set of SQL commands used to create and modify database objects
What is Data Resusitation?
The process of retrieving data in a specific format when required (such as querying)
What is DML
A database manipulation language is a set of SQL commands used to manipulate data in the database
What are control functions?
Govern data sharing, data integrity, confidentiality, and security
What is a Database Schema?
Blueprint that defines the structure of a database, changes every database update
What are Instances?
Actual data stored in the database in any given time
What is a database State?
Data stored in the database at a particular moment of time, changes very infrequently
What are the Three levels of the Three Schemas Architecture?
- Internal Schema (Physical Level)
- Conceptual Schema (Logical Level)
- External Schema (View Level)
What is the Objective of the Three-schema Architecture?
Allow multiple users to access the same data with personalized views while storing data only once, allowing flexibility
What is the External Schema?
Describes a part of the database while hiding everything else from the user
What is Conceptual Schema?
Describes the design of a database at the conceptual level, doesn’t care about how data is stored
What is Internal Schema
Describes how data is physically stored in the database
What are the Types of Three-schema Architecture?
- Internal to Conceptual Mapping: Files and Indexes are converted into a logical structure
- Conceptual to External Mapping: Defines how the database structure is shown to different users in their specific views
- External to Conceptual: explains how changes made by users in their views are reflected back to the conceptual schema
What is Data Independence?
Being able to fully modify the schema at one level of a database system without altering the schema at the next higher level
What are the two Types of Data Independence?
- Logical Data Independence: being able to change the conceptual schema without having to change the external schema
- Physical Data Independence: being able to change internal schema without having to change conceptual schema, occurs at the logical interface level
What are the DBMS Interfaces?
- Standalone Query Interface
- Command Line Interface
- Form-based Interface
- Embedded SQL Interface
- Natural Language Interface
- Application Programming Interface
What is a Standalone Query Interface?
Let users interact with a database by writing and executing SQL queries in a user-friendly environment
What is a Command Line Interface?
A Text-based interface where users type commands to interact with the database directly
What is a Form-based Interface?
A Graphical Interface where users can enter or view data through forms, which simplifies data-entry for non-technical users
What is an Embedded SQL Interface?
Allows SQL statements to be embedded directly within programming languages
What is a Natural Language Interface
Allows users to interact with the database using natural language rather than formal query languages
What is an Application Programming Interface
Allow applications to interact programmatically with the database
What is 1-tier Architecture for DBMS
The database, application, and user interface are all inside a single system but can be accessed remotely
What is 2-tier Architecture for DBMS
The application (client) system sends requests and the database (server) returns results (on separate systems)
What is the Role of the ODBC in the 2-tier Architecture?
General purpose API that allows applications to connect to different databases
What is the Role of the JDBC in the 2-tier Architecture?
Java-based API that allows Java applications to connect to databases
What is N-tier Architecture?
Extends 3-tier by adding specialized layers, making the system more modular and scaleable
What are Integrity Constraints?
Database rules to maintain accuracy, consistency, and reliability
What is a Domain Constraint?
Make sure that an attribute only has valid values
What is a Referential Integrity Constraint?
Relationship between tables remains consistent
What is a Key Constraint?
Ensures a key attribute must be unique for every record
What is a View in a Database?
A virtual table created by querying data from one or more tables
What are Participation Constraints in DBMS?
Rules that govern the minimum and maximum number of entities or relationships that must or may participate in a relationship
What are the Two Types of Participation Constraints in DBMS?
- Total Participation (Mandatory)
- Partial Participation (Optional)