Fundamentals of Databases Flashcards

1
Q

Define Data Model

A

An abstract model of which things to store and what information about them should be recorded

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

Define Attribute

A

A characteristic of an entity

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

Define Entity

A

A thing about which data is to be stored

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

What name is given to an attribute which can uniquely identify each attribute in a table?

A

Entity identifier/primary key

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

Why are databases normalised?

A

So they can be efficient without any compromise to the integrity of their data.

-Ensures entities contain no redundant or repeated data.

-Reduces update, deletion and insertion anomalies

-Allows for faster searching and sorting.

-Easier to maintain.

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

What is a Composite (Primary) Key?

A

A primary key formed from two or more other keys.

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

What name is given to the new table when forming a many-to-many relationship?

A

A link table

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

What is the role of a Client Server Database?

A

To provide simultaneous access to a database for multiple clients.

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

What problem occurs when different users attempt to access the same field in a client server database simultaneously?

A

Concurrent access

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

Name three ways of managing concurrent access;

A

-Record Locks
-Serialisation
-Timestamp Ordering
-Commitment Ordering

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

What is Normalisation?

A

The formal process of optimally designing data tables by reducing data redundancy and repetition by converting them into normal forms.

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

What is 1st Normal Form?

A

There are no repeating attributes. All the data in the database is atomic (meaning that no single column contains more than one value, cannot be split down any further)

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

What is 2nd Normal Form?

A

Must be satisfying 1st Normal Form, and partial key dependencies are removed.

A partial key dependency occurs when a non-key attribute doesn’t depend on the whole of the composite key

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

What is 3rd Normal Form?

A

Must conform to 2nd Normal form, and the database must have NO non-key dependencies.

“All non-key attributes depend on the key, the whole key, and nothing but the key”

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

What is a Foreign Key?

A

A linking attribute that joins two tables in a relational database by being a primary key in one and a foreign key in another.

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

What is a Relational Database?

A

A database where separate tables are made for each entity, and relationships between entities are represented by foreign keys.

17
Q

What is Record Locking?

A

When a record is accessed by one user, it is immediately locked yo other users until the first has finished using it. Other users are blocked from accessing or modifying the content of a field until it has been unlocked.

18
Q

What is Serialisation?

A

Rather than locking the field, requests from other users are placed in a queue. Once the first user has finished using the field, the next command in the queue is executed and so on.

19
Q

What is Timestamp Ordering?

A

When multiple commands are sent to the same field in a database, each is assigned a timestamp which marks the point in time at which the command was initiated. Commands are carried out on the field in the order of their timestamps.

20
Q

What is Commitment Ordering?

A

An algorithm is used to work out an optimum order in which to execute commands for the same field. This algorithm will take into account the impact of commands on other parts of the database and attempt to minimise issues from occurring with the database.