Introduction and overview to Computer Science
- Created by: QCrees21
- Created on: 24-11-16 22:13
Why Computers?
Importance
- They're ubiquitous; mobile phones, fridges, cars etc.
- They're involved in critical systems; power, hospitals, cars etc.
- 'Knowledge economy'
Challenges
- Theorectical; underlying power of computer, difficulty of solving problems
- Engineering; how to build correct sytems
- People; systems that help people are easy to use
What is an algorithm?
Algorithm - any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or se of values as output.
An algorithm can be seen as a tool for solving a well-specified computational problem.
What is implementation?
Implementation is the task of turning an algorithm into a computer program.
Depending on the level of abstraction of the description of the algorithm, implementation can be anything between a straightforward translating task and a lengthy, difficult job.
Databases
A file is a collection of sets of similar data called records. An item is what each item of data within a record is called. The items are stored in fields.
Records all have the same sort of contents, but relates to a different object, they are usually represented as a row in a table. A database is a collection of data arranged depending on its normal form.
Flat databases
Originally all data was held in films, which consisted of a large number of records, each containing a larger number of fields. Each field has its own data type and stores a single item of data. This lead to very large files that were difficult to process, and quite inflexible not making the best use of computer resources e.g. an excel file.
The disadvantages of it are:
- Seperation and isolation of data
- Duplication of data
- Data dependence
- Incompatibility of files
- Fixed queries and the proliferation of application of programs
Relational Databases
Instead of individual unrelated files, the data is stored in tables which are related to eachother. Each table has a key field by which their values in that table are identified.
The records in the tables can be related to entities in other tables by sharing keys as attributes within the entities. There is less data duplication, as relationships are used to link matching fields
Arranging Data
A normal form is the name given to how data in a database is arranged.
First normal form (1NF) is where each table has no repeating groups.
Second normal form (2NF) is where the values of the attributes are all dependent on the primary key.
Third normal form (3NF) is where no attributes are predictable because of one of the other attributes.
Entity Relationship Diagrams
These are used to illustrate the relationships between entities. If 3NF is used, there will be no many-to-many relationships, and one-to-one relationships can be combined. Many-to-many relationships can be replaced by a link entity.
One-to-one represented by
One-to-many represented by
Many-to-one represented by
Many-to-many represented by
Keys
- The primary of key field is a unique field used to identify a record
- A foreign key is a primary key in one table used as an attribute in another to link tables throguh providing relationships
- A secondary key is a field in a table that can be used to access the data in different ways. IT is used to search for a group of records.
- The candidate keys are all the possible primary keys i.e. all the unique fields.
Database Management System (DBMS)
- Contains the data definition language (DDL)
- Contains the data manipulation language (DML)
- Allows data to be amended and controlled
- Includes a data dictionary which is a file of descriptions of the data and structure
- Examples include MySQL, Microsoft Access, SQL Server, SAS, Filemaker, Oracle, RDBMS, dBASE, Clipper, and FoxPro
Data Definition Language (DDL)
- Part of the DBMS
- Used by the database designer to define the tables of the database
- Allows the designer to specify data types and data structures as well as any constraints on the database
- Cannot be used to manipulate the data
- Just creates tables and structures that hold information about the data that will be put in the tables, such as validation checks.
Data Manipulation Language (DML)
- Allows data to be manipulated
- Users of the database will have different rights
- Examples include Oracles PL/SQL and DB2's SQL_P
Views of Data
The DBMS can be made to present various views of the data held in the database.
- Internal level: this is the view of the entire database store in the system. It is hidden from the user by the DBMS.
- Conceptual level: this the view of the entire database store in the sytem. It is hidden from the user by the DBMS.
- External level: where data is arranged according to user requirements and rights. Different users will get different views of the data.
Comments
No comments have yet been made