Databases and Distributed Systems Flashcards
Acceptance Testing
will be carried out by the customer. They will test that a system meets their requirements. If the system passes this test the customer will sign-off the system as being ready for deployment into production running
ACID Properties
atomicity, consistency, isolation, durability
ensure database operations execute properly without errors
Attribute
a feature of an entity
Automated Testing
where computer-controlled equipment tests programs for functionality and performance
Automatic Formatting of Code
automatically formats code in the right way, for example, automatically indenting code
Big Data
data too large to process via traditional means, with main characteristics being volume, velocity and variability
Binary File
stores data in non-human readable format
Black-Box Testing
a test technique in which the test feeds specific pieces of data into a system, before looking for expected outcome
Branch
requests and independent line of development that stems from a central database
Break Points
causes the program to run up to a point and then pause, allowing for variable inspection
Check In
involves uploading a modified file after making changes locally
Check Out
refers to process by which a developer or user acquires a copy of a specific version of a file
Code Repository
these hold libraries of reusable code or data
Composite Key
set of two or more fields that together uniquely identify each record in a table
Conceptual Model
a representation of the data requirements of an organisation constructed in a way that is independent of any software that is used to construct the database
Concurrency
a unique characteristic enabling two or more users to retrieve information from the database at the same time without affecting database integrity
CASE
Computer-Aided Software Engineering
the name given to a range of software tools that aid the design, development and testing of different types of software
Lower CASE
provides support in the later stages such as testing
Upper CASE
provide support for the early stages of the system’s development life cycle, providing support for stages such as design
Data
a set of raw facts and figures with no apparent meaning
Database
a structure collection of data
Database Administrators
specially trained people to install and manage databases
Database Management System (DBMS)
a software system that enables the definition, creation and maintenance of a database and which provides controlled access to the database
Data Dictionary
a collection of data and attributes about data elements that are being used in a database, describing the meanings and purpose of data elements within the projects context and provides guidance on interpretation
Database Integrity
how accurate a database is, questioned in flatfile databases, because if one entity changes, multiple records have to be changed
Database Method
because all access to the database is under DBMS, all data is under centralised control, so the system is program-data independent, making it easier to control access to data, backup data and access data and create new applications
Database Normalisation
a database design tool used to optimise database design by turning flat-file databases into relational databases and optimising their design
First Normal Form
where each entity has a primary key value and no repeating groups of data
Second Normal Form
based on full-functional dependencies, where entities are already in first normal form and all attributes are dependent on the primary key
Third Normal Form
entities must be in second form with no transitive dependencies removed meaning non-key items must not depend on other non-key items
Database Schema
a definition of the database in a formal language that is used by the DBA
Conceptual Schema
the overall database structure
Logical Schema
tables, fields and relationships
Physical Schema
every part of the database including files and storage details, contains the whole database
Sub-Schemas
contains a subsection of the physical schema, holding the entities that a particular user needs to have access to
Database Triggers
modules of code stored in the data dictionary that runs when associated events occur
Data Constraints
describe rules which apply to data
Data Model
a method of describing the data, its structure, its relationships and its constraints that apply to the data for a given system or organisation
Data Redundancy
where data is unintentionally duplicated, reduced in databases
Data Requirements
states which data needs to be stored
DBMS Layer
acts as a layer of software between all the users and the database
DDL
Data Description Language
used to control the structure of the database, to creawte new entities, attributes, keys and relationships, and give access rights to users
Degree of Relationship
between two entities, refers to the number of entity occurrences of one entity which are associated with just one entity occurrence of the other and vice versa
Deletion Anomalies
occur when information is lost because a single record is removed from the fact-file
DML
Data Manipulation Language
controls data within the database, carrying out four basic functions: appending, deleting, amending and retrieval
Entity
the thing you are collecting data about
Entity Relationship Diagram (ERD)
shows how different entities relate to each other in an application or database
Field
a single piece of information which is stored within a row, for example, first name, email, date of birth
File
a data structure that is always stored on a device that is a collection of records
Flatfile Database
one spreadsheet with one table, eg Excel
Foreign Key
a field in one table that is a primary key in another table and is used to create a link between these tables
Fully Functional Backup
occurs in second normal form where all entities must be in first normal form and all partial key dependencies
Hierarchical Database
a data model where the database is arranged into a parent-child structure
Information
data with meaning
Inheritance
the relationship between two object types in which one is a kind of the other and shares some of its properties or behaviours
Locking
where the DBMS places a lock on the record, giving read/write access rights to the first user who opens the record, and read-only rights to any subsequent user, meaning it is locked until the first user has finished editing it and commits their changes to the database
Logical Model
specifies the entities we are storing data on: their attributes and the degree of the relationships between the entities
Manual Testing
where a person manually tests programs for functionality and performance
Memory Protection
a way to control memory access rights to a computer, where RAM is set up so that, by default, it cannot access various pieces of data without causing a memory error so that two programs cannot use the same memory location
Multi-Transactions
consists of multiple, interdependent transactions spread across different databases and systems, eg transferring money from one account to another
Network Database
represents data in a tree-like structure, where pointers connect records in a network or graph structure
Normalised Entity
a set of entities that contain no redundant data
ODBC
Open Database Connectivity
a protocol applied to databases allowing a database made using one piece of database software to be viewed using another piece of database software, using an open standard Application Program Interface so the database can be used in another application
OODB
Object-Oriented Database
the same concepts applied to Object-Oriented Languages can be applied to databases, so data is stored within objects along with the methods and processes that will be carried out on the data
OS Authentication
where authentication is delegated to the OS
Performance Testing
carried out to ensure that a system will be able to cope with the required workload
Physical Model
adds detail to allow the data model to be implemented with a specific DBMS
Primary Key
a single field that acts as a unique identifier for each record in a table
Program-Data Independence
where changes to the program design don’t force the data file structure to be changed
Record
a collection of data for one item, person or thing
Referential Integrity
if a value appears in a foreign key in one table it must also appear in the primary key in another table
Relation
set of attributes and tuples, modelling an entity
Relational Database
a database where data is held in more than one table, with tables linked together using relationships
Relationship
a link between two entities, implemented in a database using primary and foreign keys
Roll-Back
allows software developers to undo changes made to a system and revert back to a previous version
Run-Time Diagnostics
this creates a virtual machine that emulates a system that the program is designed for when it’s not specifically designed for that platform
Schemas
a collection of database objects
Screen Design Software
allows the design of screens
Shared Memory
where memory protection does not occur but may lead to memory corruption if it is not made read-only
Single Transaction
refers to a series of one or more database operations resulting in one action, completed successfully, such as withdrawing money from an ATM
Software Engineering
an engineering approach to software development and is the process of designing, developing, testing, and maintaining software systems, different to programming due to the focus on engineering, so a software engineer will involve more mathematic and scientific methods
Step Through
steps through program one statement at a time, allowing faults in program logic to be identified
Syntax Highlighting
displays code in different colours and fonts according to categories of terms
System Testing
often carried out by a specialist testing team, who will check that the system as a whole works as required. System testers will not usually be involved in the development of individual programs
Table
collection of related data made up of fields and records
Tagging Version
allows developers to assign a label to a specific point in history, serving as a reference point
Text File
shares data in human readable format
Transaction
this represents a change in the database, providing reliable units of work to allow database recovery and provide isolation between programs accessing a database concurrently
Transitive Dependencies
means there must be no unique associations between attributes in the record that are not used as a primary key
Unit Testing
often performed by the developer, and check that a program functions as required
Unproductive Maintenance
where changes to program design force the data file structure to be changed, occurs in factfiles
Update Anomaly
occurs in flatfiles where records are not correctly updated causing data corruption and reducing data integrity
Variable Watch
the act of observing a specific variable whilst the program runs, which the programmer can do whilst using variable inspection
Version Numbers
where previous versions are numbered in order to keep track of the current version
Warning Messages
allow early detection of issues such as unused variables optimising performance
Whitebox Testing
tester will feed data into a system that ensure that all path through the code are used and therefore testing
Wire-Framing Software
help map out the user experience, layout, and overall flow, streamlining the design process