# data[].attributes.body
In flat file databases data can be repeated unnecessarily, this unnecessary repetition is called data redundancy. It can increase the size of databases and make them slower. It can also lead to inconsistent spelling and updates - so we move away from the flat file and  instead develop a RELATIONAL DATABASE - see the notes.

# data[].attributes.body
This is where we have several tables of data which are all linked but identify different key areas in order to avoid as many repeats. A PRIMARY KEY is used to UNIQUELY IDENTIFY a CUSTOMER, a CAR, a STUDENT - so you have a student ID, that is your identifier or PRIMARY KEY. A RDBMS has lots of components which are used to access the data stored in the database. Directly accessing the data through the tables isn't recommended. data is normally entered via forms, queries are used to search the database based on criteria and reports are used present the information returned by using queries.

# data[].attributes.body
Flat file databases store data as a record. Each record has a number of fields to store data, like a table made of rows and columns. The column of a database is the field, such as "First name". The rows are the individual records. The whole "table" makes up the file. We can use queries to search this file and pick out certain records.

# data[].attributes.body
- The whole table which the data is entered into. This can also be called an ENTITY - so a customer file, or a patient file, or database of cars - they are ENTITY's about which data is stored.
Field - Each column in the file is called a field.
Record - Each row in the file is called a record

# data[].attributes.body
Provides a user friendly interface to enter data into a table(s) through one form. Selected data can be outputted to the screen as a form. Forms can contain objects such as buttons and drop down lists to make them easier to use. Forms can carry out validation checks before entering it into a table, and they can make some fields read only.

# data[].attributes.body
when the DBMS selects and searches for specific data from the database. this can be done using a specialist language like SQL or through a query by example interface which is often easier for beginners. Queries are how a user gets the data they need from a database.

# data[].attributes.body
Reports are used to properly format data from queries or when data needs to be printed. Reports can calculate results based on the data from fields, for example adding up individual prices to give a grand total.

# data[].attributes.body
data in a database has to be sensible and correct. validation in a database helps to ensure this happens.

Validation checks that the data entered is valid and in the correct FORMAT = date is entered 21/03/2014 rather than 21st march 2014. VALID = 30th February 2014  is not a valid date as only 28 days in February.

VALIDATION TYPES
presence check - has an entry been made in a field.
date check - a calendar is used to ensure a valid date is chosen.
range check - shoe size 4-12 so 16 wont be allowed to be entered.
length check - check that the number entered is correct in length - card number ISBN number.
format check - car registration in the correct format XX00 0XX
for XY54 2HZ allowing alpha and numeric characters to be entered.
lookup check - where you have a list that is linked to field - and the list is checked for the value you are entering/chosing.

# data[].attributes.body
a database can be a database of contacts, of music of students in a school and many more. a database allows the PERSISTENT STORAGE of data that will be ORGANISED in some way.