1/23
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is a database?
Structured collection of logically related data.
Data v.s. Metadata v.s. Information
Data = raw facts
Metadata = data about data (describes context & properties)
Information = data that has been processed to have meaning; used for decision-making
DBMS
Database Management System
Software that manages databases and provides controlled access
Examples: mySQL, Azure Data Studio
Limitations of Traditional File-Based Systems
Program-Data Dependence
Data Duplication & Redundancy
Limited Data Sharing
Lengthy Development and Maintenance Time
Name (*do not describe) 5 Advantages of the Database Approach
Program-Data Independence
Planned Redundancy
Data Consistency & Integrity
Improved Sharing & Accessibility
Higher Productivity for App Development
Enforced Standards (naming conventions, security)
Better Data Quality
Reduced Maintenance
Enhanced Decision Support
Name & briefly describe the Components of a Database Environment
(Hint: Don’t Dance Rigidly At Every Awkward Underground Disco—Sing Everything!)
DBMS
Software that manages database
Manages storage, retrieval, and access of data
Repository
Centralized storage of metadata (think of it like a “blueprint”)
Database
Storehouse of data
Application Programs
Software that uses the data
End Users
Interact w/ the applications
Administrators & Developers
Controls which personnel has access to database & type of access they have
User Interface
Text, graphical displays, menus, etc.
Design Tools
Automated tools used to design databases and application programs
System Developers
Responsible for designing and maintaining databases and software.
End Users
People who use the applications and databases.
Database Development Life Cycle (SDLC)
Name and describe the 6 phases.
What is the deliverable(s) at end of each phase?
PHASE | FOCUS | DELIVERABLE(S) |
Planning | Define scope & goals | Request for study / Project proposal |
Analysis | Gather database requirements | Functional specifications, Conceptual data model |
Logical Design | Define data structures & business rules | Logical schema, Detailed data design |
Physical Design | Choose hardware, storage, indexes setup | DBMS implementation plan, Physical schema |
Implementation | Build & deploy database | Code, Training materials, System installation |
Maintenance | Monitor, fix, and improve | Audits, Updates, Performance reports |
Two Approaches:
S D L C
System Development Life Cycle
Detailed, well-planned development process
Time-consuming, but comprehensive
Long development cycle
Prototyping
Rapid application development (R A D)
Cursory attempt at conceptual data modeling
Define database during development of initial prototype
Repeat implementation and maintenance activities with new prototype versions
SDLC = System Development Life Cycle
Detailed, well-planned development process
Time-consuming, but comprehensive
Long development cycle
Prototyping
Rapid application development (R A D)
Define database during development of initial prototype
Adjust prototype and repeat implementation in resposne to feedback
In a relational model _____ is stored in tables and relations are built through _________________.
In a relational model data is stored in tables and relations are built through primary/foreign keys.
Describe the Three-Schema Architecture
External Schema: User view
Conceptual Schema: High-level business view (e.g. ER diagrams)
Internal Schema: Physical storage details
Property Metadata v.s. Contextual Metadata
Property Metadata (Think “Technical Specs” or “Business Rules”)
Inherent characteristics about data
Examples:
“Employee name is a 30-character string”
“Birth date is in YYYY-MM-DD format”
“Phone number must be 10 digits”
Contextual Metadata (Think “Backstory”)
Tells you the meaning or rules behind the data
Helps you understand why the data is used or what rules apply
Examples:
“Birth date must be at least 16 years before today”
“This ID number is used to uniquely identify each employee”
“This status field indicates whether the employee is active or not”
Is the following a property metadata or contextual metadata?
30 character field limit for a name
Property Metadata
Business Analyst
Analyze business situation and establish requirements
– like business analysts, but also have technical expertise for overall information systems
Database analysts and data modelers – analysts who focus on database
Users – the “customers” communicate their needs to analysts
Programmers – coders of the programs that interact with the database
Systems analysts
like business analysts, but also have technical expertise for overall information systems
Database analysts and Data Modellers
– analysts who focus on database
Users
– the “customers” communicate their needs to analysts
Programmers
– coders of the programs that interact with the database
Database architects
– establish standards for data in business units
Data administrators
– responsible for existing databases, ensuring data integrity and consistency
Project managers
– oversee the projects, manage the personnel
Describe the 3 most common types of databases.
Personal DBs: Single user, MB-sized
Departmental: Small groups, GB-sized
Enterprise DBs: Full-scale systems, TB/PB-sized
Provide a brief evolution of databases.
1960s–70s: File systems ➡ Relational theory by E.F. Codd
1980s: SQL & relational DBs boom
1990s: Object-Oriented models emerge
2000s+: NoSQL for Big Data (e.g., MongoDB)
File-Based Systems v.s. Database Systems
Aspect | File-Based Systems | Database Systems |
---|---|---|
1. Data Duplication | ✖ Redundant data – multiple programs store the same data in different files (e.g., customer info in billing, shipping, and orders files) | ✔ Centralized storage – all data is stored in one place and shared across systems, minimizing redundancy |
2. Data Sharing | ✖ Difficult to share data – each app controls its own files; no central control | ✔ Shared access – authorized users and programs can access a common database with rules for permissions |
3. Maintenance (Tight Coupling) | ✖ Program-data dependence – if file format changes, every program using it must be updated too | ✔ Program-data independence – data structure changes don’t require changing the application code (thanks to DBMS) |
4. Updates and Flexibility | ✖ Difficult to update or scale – changes require modifying multiple programs and file formats | ✔ Easier to update and maintain – changes made centrally and supported by tools in the DBMS |
5. Data Integrity & Consistency | ✖ Low integrity – duplicate data may become inconsistent if not updated everywhere | ✔ High integrity – controlled redundancy and validation rules ensure consistency |
6. Security | ✖ Weak security – file-level permissions only, hard to enforce complex access rules | ✔ Strong security – DBMS allows fine-grained access control (user views, roles, encryption) |
7. Standards & Rules | ✖ No enforcement – different programs may use different naming conventions and rules | ✔ Standardized – consistent data definitions, naming, and rules enforced via DBMS |
8. Development Time | ✖ Slower development – programmers must manually manage file structures, updates, and formats | ✔ Faster development – databases use tools, models (ERD), and automation for development |
9. Scalability | ✖ Not scalable – limited to small applications; becomes messy as systems grow | ✔ Highly scalable – designed for growth in size, users, and complexity |
10. Support for Complex Applications | ✖ Poor support – lacks features for relationships, transactions, or analytics | ✔ Full support – DBMS enables transactions, indexing, querying (e.g., SQL), reporting, and analytics |