3.2 Data Design Flashcards

(19 cards)

1
Q

Examples of Design Models

A

Analysis Model and Design Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Data Dictionary parts

A

Entity-Relationship Diagram(Data Object Description)

Data Flow Diagram (Process Specification)

State Transition Diagram(Control Specification)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Types of RDBMS for Transactions

A

Manual (Paper-based)

Digital (Computerized but not necessarily automated version of digital like an excel spreadsheet)

Digital (Computer based and automated like a Database Management System)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

It refers to the selection of logical representations of data objects identified during the requirements definition and specification phase

A

Data Design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

It abstracts relations into objects allowing simplified interactions with a database without writing raw SQL queries.

A

Object-Relational Mapping (ORMS ex. Mongoose)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

It refers to the process of organizing and structuring the data in a relational database to reduce redundancy and improve data integrity.

A

It can benefit the long-term performance and cost of maintaining large databases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Levels of Normalization

A

Irregular Relation (Table with non-atomic domain values)

1NF: First Normal Form

2NF
3NF
BCNF : Boyce Codd Normal Form
Fourth Normal Form
Fifth Normal Form

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Normalization focuses on atomicity and eliminating redundancy, but a surrogate key may be added to meet normal forms of complex relations, for example, a table with a tile that may store more than one value in an “array” type can be separated as different rows in the same table.

A

First Normal Form

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Eliminates partial dependencies

A

2NF

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Eliminates transitive dependencies

A

3NF

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ensures that every determinant is a super key

A

BCNF (Boyce Codd Normal Form)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Remove multi-valued dependencies

A

4NF

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Remove Join Dependencies (It doesn’t have to be repeating values like in 4NF)

A

Fifth Normal Form

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

It refers to the intentional introduction of redundancy into a normalized database to improve query performance, the opposite of normalization

A

Denormalization, this is often implemented when there is a strong need for faster read access and the overhead of maintaining the highly normalized tables outweighs the benefits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

When to use denormalization?

A

When there is a constant need to frequently join tables, joining causes overhead so merging them permanently is better for faster lookup.

Vertical splitting when some attributes are rarely used.

Horizontal Splitting for Large Tables

Adding a previous value attribute.

Adding a duplicate attribute to a different table

Adding a derived attribute for frequently derived data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Data Design best practices (3)

A

Understand the Data Model

Define the Schema

Design for Scalability

17
Q

Data models

A

RDBMS for business transactions

Simple Key-Value Pairs

Document-Oriented (JSON, BSON, XML)

Column-Family

Graph-based

Vector databases

Hybrid Implementations

18
Q

How to define the schema? (5)

A

Define Data types

Define relationships

Define frequently queried fields

Denormalize as necessary

Enforce schema and data validation

19
Q

How to consider scalability?

A

Enable autoscaling

Design for distributed architecture

Design using hybrid approaches

Use compression