Paper 1 Flashcards
Bitwise XORing…
toggles a subset of the bits in the value
when you use a 1 the bianry is toggled/ switched around and 0s there is no impact
Depth First algorithm
- PUSH the first node onto the stack
- Repeat:
a. push each node onto the stack until a child node is reached
b. visit the node which is the lowest you can reach
c. if no node to visit pop off the stack - Until stack is empty
Encryption
Encryption is the process of encoding a message so that it can be read only by the sender and the intended recipient.
serialisation
Serialisation ensures that transactions do not overlap in time and therefore cannot interfere with each other or lead to updates being lost
Class
a template to set out a define what attributes an object of a certain type should have
how is redundancy used usefully
organisations build in redundancy e.g. duplicate hardware so that if the main system fails the backup can take over
X∧X=
X
do until loop pseudocode
do
code
until
condition
Sequence
do one statement after another in the correct order
Symmetric Encryption
Symmetric Encryption is when the same key is used to encrypt and decrypt the message. Both party’s must know the key and also keep it secret.
NOT
reverses the outcome of the expression
Byte Scale
bit, nibble, byte, kilobyte, mega, giga, tera, peta, exa, zetta, yotta
Multiple by 1024 to move up
Method of capturing data (Manual)
Paper data capture form (read by OCR & OMR or typed in manually)
purpose of operating systems: managing external devices
Using device drivers to translate operating system instructions into those understood by specific models of hardware device
How are character sets used to represent text?
When character in the set has a corresponding binary value which is a set number of bits. These are stored in a sequence that represents a word etc.
Capacity of magnetic
640 GB - 1TB
clock use
synchronise the change of state of flip flop circuits
linked lists
A list of data together with a set of links to sort the data. Data is stored in the order its input and pointers are used to link the data into the desired order.
Selection
do a set of statements based on conditions allow your code to make choices- otherwise known as branching
Peer-to-Peer Networking
No central computer, all computers are connected to each other locally or over a WAN
disadvantages of Client-Server
- Can be expensive to set up and to manage
- Server is single point of failure
how to convert floating point binary to denary
1) First work out the denary number in the exponent which tells us that the binary point moves ‘n’ places to the right
2) Write out a new binary weighting line with the point in the right place and then convert into denary
components of a packet
senders address, recievers address, packet contents, sequence number
Consistency
Any change in the database must retain the overall state of the database.
clock
sequential circuit that changes state at regular time intervals
Program Counter
stores the address of the next instruction
POST acronym
Power of self test
X∧0=
0
relationships
one-to-one
one-to-many
many-to-many
in two’s complement the sign is stored in
the most significant bit
direct addressing
where the operand contains the address of the value to be used.
preorder dot
left
Asymmetric Encryption
Asymmetric Encryption (Public Key Cryptography) is when a public key and a private key is used. The public key is used to encrypt the data and the private key is used to decrypt the data. If you use person X’s public key to encrypt the data only person X’s private key will be able to decrypt it
Advantages of networks
- allows sharing of data
- allows collaberative working
- good for communication
- allows sharing of resources e.g. printers, storage and scanners
- easy to backup to a central point
Real-time Operating system
Designed to carry out actions within a guaranteed amount of time even when left running for long period.
software
program code. Sequences of instructions which are executed in order to perform a task.
Client side processing
data is processed on client side and send back to the server. This is used for security as it avoids data transfers.
Disadvantages of the agile model
- Not suitable for quick projects
Current instruction register
stores the actual instruction that is being decoded
if/else Pseudocode
if condition then code elseif condition then code else code endif
dynamic
size of the structure can change at runtime
Optical storage advantages
Cheap
light weight and portable
Resilient
Trace Tables
As you follow code you note down when each variable changes and what each value is
structured
the data is organised in a logical way
purpose of operating systems: managing the memory
allocating and managing the memory used and relinquished by processes using pages and segmentation. Managing virtual memory
constructor of a superclass
public procedure new(inputs)
super.new(inputs)
attribute = input
endprocedure
instruction set
a group of instructions that a computer can carry out. unique for computers.
code optimisation
(stages of compilation stage 4)
the code is optimised to run as fast as possible by removing redundant code (removing variables and procedures that have been written but never called)
Multiple cores
Multiple CPUs working on a single computer
Pre-emptive
Once a process has entered the running state it can be stopped
Inheritance OO pseudocode
class Dog inherits Pet code endclass
Address Bus
A one directional bus that transmits memory addresses that are used as operands in programming instructions, so that data can be retrieved from main memory
XML (eXstensible Markup Language)
A markup language that uses tags to denote data
Methods of sending data
Electronic Data Interchange (EDI) - is the computer-to-computer exchange of business documents in a standard electronic format between business partners.
Application Programming Interface (API) - a prewritten set of subroutines that provide access to the
companies data
- A URL to a file
CISC
Complex instruction set computing, large number of instruction each taking multiple machine cycles to carry out.
Clock signal
used to synchronise operations
font size CSS property
font-size
Uses of real-time operating systems
Airline control, theatre bookings, heart monitors, production lines, radar systems
purpose of operating systems: providing networking
communication through protocols and other machines and devices
Durability
Once a change has been made to a database it must not be lost due to a system failure.
wildcard
*, selects all the elements
Tuples
are lists that cannot be edited, they are immutable
Hash tables
an array which is coupled together with a hash function.
stack data structure
A stack is known as a LIFO, a single pointer is used to point to the top item of the stack, when a new item is pushed onto the stack the pointer is incremented. When an item is popped off the stack the pointer decrements to point to the new top of the stack.
second normal form
- Check the data is already in 1NF
- Remove any partial dependencies
- ‘fix’ any many to many relationships you discover
Open Systems Interconnection 7 layer model
(7) Application Layer
(6) Presentation Layer
(5) Session Layer
(4) Transport Layer
(3) Networking Layer
(2) Data Link Layer
(1) Physical Layer
Query SQL
SELECT *
FROM tblName
WHERE conditions
stepwise approach
breaking down a problem into smaller sections
Server side processing
used to interact with permanent storage like databases or files. It also renders the pages to the client
sequential files
where the order of data is maintained
how to do CSS in HTML
<h1></h1>
Data Protection Act parts
Data processed fairly and lawfully
Data should only be collected for specific purposes
Data should be relevant and not excessive
Data should be accurate and up to date
Data should not be kept longer than needed
The user has a right to access and correct data
The organisation must have suitable security
Data can not be transferred outside the UK to any country with no data protection laws
How is a stack used in a ISR
when an interrupt comes the current instruction is pushed onto the stack. Once the interrupt has finished it pops the instruction off the stack and processes it
∨
OR (+)
protecting agaisnt hacking:
- Packet snifferes
- User access logs
Attribute
variables contained within and associated to an object
BIOS
checks that the hardware is connected is connected and working in what is known as a power on self test
polling
The CPU checks with each device if it needs attention. Inefficient and wastes time as some devices will not want attention when called upon
how does arithmetic (signed) right shift work?
shift everything to the right and backfill the space with 1s
normalising a positive binary number
back fill with 0s
Input device examples
Key board Card readers Microphones Cameras Barcode scanners OMR/OCR Mice Sensors Magnetic stripe reader touch pads
Object Orientated language
coders develop a solution which consists of objects that have been modelled on the real worl.
sparse graph
A graph which has few edges in relation to vertices
Solid-State Storage
uses flash memory so data is read and written directly to blocks and pages on the silicon micro-chips
graph
a set of edges/arcs connecting vertices/nodes
linking a css/javaScript file
<a> link text </a>
Link Layer
(4) Passes data to the physical network
Hashing Databases
transforms a string of characters in a record into a shortened form that can be used as a disk address
De Morgan’s Law
¬ (A∨B) = (¬ A) ∧(¬ B)
NOT (A OR B) is the same as (NOT A) AND (NOT B)
Foot Mouse
press key/click button with their foot to send signal.
Secondary key
any field in a database which is not a primary, candidate or foreign key. They are used to order queries.
Bitwise manipulation
bitwise shifts and masks
Bytecode
An intermediate representation which combines compiling and interpreting and is run by a byte code interpreter
multi-dimensional arrays
an array containing one or more arrays.
Advantages of Using encapsulation
- reduces chance of error
- consistent changes
- prevents accidental changes
word
equal units of memory. each with separate memory addresses.
fragmented disk
over time a disk becomes fragmented as old files are deleted and new files are added, free space often becomes scattered across a disk and a program has to be split and spread across a disk to fit. The more fragmented the slower the computer performs
procedure
a self-contained set of commands that can be called from different parts of the program.
Algorithm for insertion into a binary tree:
- If tree is empty enter data item at root and stop; Current node = root
- Else repeat:
a. If new data item is less than value at current node go left, else go right.
b. Current node = node reach (null if no node)
c. Until current node is null - Create new node and enter data
different traversal methods
preorder
inorder
postorder
Coacial Copper Cables
older, slower and cheaper
node at the top of the tree
root node
Chip Multi Processor (CMP)
a single chip which contains 2 or more independent CPUs which can execute independent instructions
border width CSS property
border-width
factors to consider when choosing applications (9)
speed does it provide the necessary functionality cost and pricing hardware requirements memory convenience is it well used, tried and tested is it available off the shelf or will it have to be hand written
TCP/IP stack
Application Layer
Transport Layer
Internet layer
Link Layer
Execute
The appropriate instruction/ opcode is carried out on the data/ operand
Artificial intelligence
writing software and algorithms which appear to behave as if they were intelligent
What is a more complex data type called?
composite types
Star topology disadvantages
Can be expensive to set up because of the length of cable required
Central device is a point of failure
Uses of assymetric encryption
used for transfering data e.g. online shopping
basic Boolean operators
AND
OR
NOT
all attributes are dependent on..
the key, the whole key, and nothing but the key
height CSS property
height
Peer-to-Peer Model:
all terminals have equal status and there is no powerful central server, each computer acts as both a client and a server.
distributed computing
when each computer on a network takes on part of a problem
SMTP
Simple Mail Transfer Protocol – used by mail servers and clients to transfer email across the internet
Software interrupts
illegal instruction encountered
Arithmetic overflow
new log-on request
Uses of CISC
what most desktops use, Intel or AMD
Benefits of circuit switching
- highly reliable
- once the circuit is set up communication is fast and generally error free
Drawbacks of circuit switching
- dedicated connection therefore even if the channel is free it cannot be used to transmit other data
- inefficient
- requires more bandwidth
- time is taken to determine the physical link before hand
Puff/Suck Switch
blow/suck to send signal.
Buffer almost empty
buffer allows each device or process to operate without being held up by the other
NIC
receive and send electrical signals in a network.
partial key dependency
one or more f the attributes depends on only part of the primary key (if the primary key is a composite key)
Data Integrity
Data integrity is the maintenance and consistency of data in a data store. The data store must reflect the reality that it represents.
internal storage examples
magnetic hard drive, ROM, RAM, internal solid state drive
Use of distributed operating systems
Data centres, large companies, weather/financial modelling, data mining trend finding
Output device examples
speakers plotters printers monitors actuators projectors LEDs
Static
the size of the structure cannot change at run time
indexed addressing
The value given is added to the valued stored in the index register to give the memory location.
What does a bitwise left shift do?
multiplies the number by 2.
Binary -> denary negative exponent
- exponent
create an instance of a class OO
objectName = new className(parameters)
Breadth first algorithm
- PUSH the first node into the queue
- mark as visited
- REPEAT:
a. visit all unvisited nodes connected to the first node
b. push nodes onto the queue - until all nodes visited
- REPEAT:
a. POP next node from queue
b. REPEAT:
i. visit unvisited nodes connected to current node
ii. PUSH nodes onto quue
c. until all nodes visited - until queue empty
Absorbtion Law OR
A∧(A∨B)=A X AND (X OR Y) is the same as X
procedural languages examples
Pascal, C, Basic and Python
What is ASCII
- A character set
- Maps values to characters
- Uses 7-bits/ 8-bits per character
types of interrupts
- hardware
- software
- Input/output
A∧ ¬A =
0
Contemporary processor architectures
Modern high-performance CPU chips incorporate aspects of both Von Neumann and Harvard architectures
e.g. memory for both data and instructions but cache is divided into instruction and data and multiple parallel data buses
Sign magnitude most significant bit
represents + or -
+ = negative
- = positive
Hashing
Hashing is the process used to transform a data item into something different. A hashing function provides a mapping between an arbitrary length input and a fixed length output. It is a one-way transformation meaning you cannot get back to the original form.
Memory read signal
causes data from the addressed location in RAM to be placed on the data bus
Bus request signal
indicates that the CPU has granted access to the data bus
polymorphism
when something appears in multiple forms and the program makes sure the correct meaning of a function is run
Inserting an item in a hash table:
- Feed in key to the hash function
- Go directly to the array index (HashValue)
- If the location is empty then insert the value
- Else follow the linked list in sequence until a free space in found and insert the value
opcode
the actual instruction
0.1
positive
Open Source Software
any software which is supplied along with its original source code.
e.g. Linux
\
integer division
Drawbacks of closed source software
- costs money, can be expensive
- small range of versions of software
purpose of operating systems: managing security
servicing and denying requests to access the resources connected to the computer
Bottleneck address bus
the width of the address bus determines the maximum possible capacity of the system
Input devices for limited mobility
- Foot mouse/pedal
- Camera/eye tracker
- Microphone
- Puff/suck switch
Lists
an ordered data structure accessed through an index. the have no predefined scope and can be edited during run time.
anchor tag
<a></a>
Lossy Compression
Actual data is removed from the file in order to reduce its size. An algorithm is used to strip out the least important data. The original file cannot be restored as data is physically removed.
serial file
store data with no specific order meaning if data is added it is simply appended onto the end of the file. You cannot delete data from a serial file. good for storing simple data sets text files and configuration files.
commutation LAW OR
A∨B = B∨A
The order in which two variables are OR’ed makes no difference
purpose of operating systems: managing the processor
deciding which process to execute next and handling interrupts to the currently executing process
Half adder use
adds two bits
commutation LAW AND
A∧B = B∧A
The order in which two variables are AND’ed makes no difference
end instruction
HLT
Binary -> denary positive exponent
+ exponent ->
Packet Switching
the data to be transmitted is broke up into individual packets at the source computer. each packet is labelled with an address and sequence number. The packet is then forwarded onto the network and follows its own individual route. Depending on network traffic each packet will take different routes at different times to reach their destination where is is then reassembled.
Address bus average width
32 bits
normalising a negative binary number
back fill with 1s at the high end and 0s at the low end
Possible uses of graphs:
- Navigation Systems
- Data Transmission
- Web page links
- Social media trends
Disadvantages of extreme programming
- Not suitable for programmers separated geographically
- Client must be able to commit to having full time contact with the programmers
programming paradigm
a way to classify programming languages based on their features.
how to solve hash table collisions
- store the key in in the next available space
OR - combine with a linked list
Data redundancy
The unnecessary duplication of data in a database
<p></p>
paragraph text
capacity of solid state
around 500 MB
Uses of virtual machines
- used on networks to avoid redundant processors
- translating code (Java)
- running different operating systems
Mesh Topology
an arrangement where ever node is connected to every other node.
Memory Data register (MDR)
stores the data which is to be sent or fetched from memory
normalising:
moving the point to the left
+ exponent
relationship between high-level and assembly code
one to many
uses of a GPU
Will be present on a graphics card in a computer used in - Machine learning - Oil exploration - Image processing - Financial transactions
virtual storage disadvantages
Expensive if you want to store large amounts of data
Access times can be slow if there is poor internet connection
Cop Right Design and Patents Act
protects the intellectual property rights of individuals and organisations. This law makes it illegal to Copy, Modify or Distribute any software or any other intellectual property without permission of the original creator.
post order dot
right
<ol></ol>
ordered list
Paired Programming
one programmer types and another checks at the same time.
border style CSS property
border-style
Transmission media
the wires that connect a network
system software
operates, controls and maintain the computer and its components.
Bitwise ANDing …
extracts a subset of the bits in a value
when the mask is a 1 it retains the value however when the mask is a 0 it outputs just 0s meaning only certain values are extracted.
main factors effecting CPU performance
clock speed
number of cores
amount and type of cache
ACID
Atomicity
Consistency
Isolation
Durability
What do the nodes on a binary tree contain
left pointer, data, right pointer
CDPA year
1988
Disadvantages of the spiral model
- Acknowledge user input
- Create prototypes to communicate to the user ideas better
- Better for small projects
- Simple
general purpose application software
A software that can be used for many purposes e.g. word-processor
FIFO
first in first out
digraphs
has one or more edges that have an arrow indicating you can only go in one direction
Internet
many interconnected networks over many different countries via dedicated connections known as backbones
Embedded Operating Systems
embedded systems are often run on dedicated hardware so they run with maximum efficiency, with low powered processors and minimal memory
Switches
devices used to connect devices on a network, they use the physical hardware MAC address to send data on to the required destination node.
Output device
any device which is able to take data which is stored in a digital form and convert it into another format which wee can process e.g. sound, images or vibrations
drawbacks of assymmetric
- not as fast
MOD
gives the remainder of a division
three main class sections:
class name
attributes
methods
Record Locking
Recording Locking prevents simultaneous access to objects in a database in order to prevent updates being lost or inconsistencies in the data arising.
Multi-tasking operating system
one processor is scheduled so that each process receives a very small time slice of processor time giving the impression of them running simultaneously.
API
Application Programming Interface governs how two applications should interact
Adding data from linked lists:
- Store the data at the location indicated by the free storage pointer
- Alter the free storage pointer to the next free storage space
- Work out where in the list the new item should be inserted
- Set the pointer for the item that will precede it to the new data item
- Update the pointer for the new data item to that previously stored in the item the preceded it
5 most common primitive data types
integers, real (float), characters, string and Boolean
Removing data from linked lists:
- If the item to remove is in the first position
a. Then update starting pointer value of item you want to delete
b. Update all the pointers - Else if the item is in any other position
a. Update the pointer value in the preceding node from the one you want to delete to the value of the pointer in the item to be removed - Update the free pointers
mutable
structure and data can be changed at runtime
what connects different networks?
routers and gateways
Disadvantages of client side processing
- Not all browsers support all script
- Because the scripts are processed by the client, they are dependent on the performance of the clients’ machine
Utility software
small programs each with a very specific purpose, which is normally concerned with the maintenance and wellbeing of a computer system
CSS identifier
HASHTAG
#menu{
background-color: #A2441B;
}
for loop pseudocode
for i=0 to 7
print(“Hello”)
next i
deadlock
when both users try and access the database at the exact same time meaning neither can edit it
The text that will appear in the tab heading
linker (static linking)
includes links to any library code and place it in a single executable file. this is known as static linking and results in large programs because all the code is held in one file.
Extreme Programming
- A type of agile methodology, involving a user imbedded in the company to give feedback.
- This results in high quality code being developed quicker.
exponent
positive of the binary point is fixed on the number line
What loads the OS into RAM
the bootloader
Buffer
a region of a physical memory storage used to temporarily store data while it is being moved from one place to another
purpose of operating systems: providing a platform for Software and utility programs
provides a framework for applications to run, allowing the to, for example, open and close files easily. The user can also interact with operating systems to manage files and use a range of utilities
token
a keyword, constant, variable, identifier or operator from the code
arcs on a tree
branches
Relational Database
A relational database has more than one related table. It is more efficient that a flat file database as no data is duplicated meaning querying is easier.
uses of functions and procedures
breaking a problem into manageable sections
preventing duplicating sections of code when it is needed more than once in a program
Operating system (System software)
allows the user to control the computer with ease.
Provides a virtual machine hiding the true complexity of the computer from the user.
Manages and controls access to the computer’s resources.
normalising a number
means that there is only one way to represent the number
virtual storage advantages
data can be accessed anywhere so long as you have internet access
data can be easily shared between devices without having to copy the data and transport it
the capacity is limitless
Operating System Roles
- Provides a user interface
- manages security
- provides a platform for utilities/applications
- manages external devices
- managing the processor/scheduling
- managing memory
- provides a platform for networking
- managing hardware
bootloader program
loads the operating system kernel into memory.
Stored in ROM
Where is the waterfall life cycle model used?
Used in manufacturing industry
Over-riding
when the method in the subclass shares the same method as further up in the object tree. the over-ridden method takes precedence and replaces the method further up the object tree
Characteristics of Procedural
instructions, sequences, selections, interaction, procedures and functions
clock
a device that generates a timing signal which changes at a regular frequency. Its used to synchronise communication between the components of the CPU and the rest of the computer system.
Cache memory
Special high speed memory used by a computer. Stores frequently used data and instructions.
interrupts
A device sends a signal on the control bus to show the CPU it needs attention
Unicode
character set which displays over a million characters
scheduler
manages which process to execute next and how much time is allowed to execute a process
What are character sets needed for?
needed so that a document which is made on one computer is still readable on another computer. Computers can have more than one character set installed.
Hardware
the physical component oft he computer system.
Microphone
Make sound to send signal
advantages of using an external css file
code only needed to be added to one file but the changes are applied to all the pages that use that css file
program branch reason
occurs due to an if statement, function, procedure call or loop.
primitive data type
a basic data type provided by the programming language as a basic building block
array
allows you to store multiple items of the same data type under a shared common name
Data mining
automated process which looks at large sets of data and tries to identify patterns in order to predict something
different types of operating system
Distributed Embedded Multi-tasking Multi-User Real-time
Hash function
code which takes in data called a key and outputs a hash value which is is used to find a fixed index in a hash table
interpreter
takes one line of high level source code and converts it directly into machine code then runs it.
this has a one to many relationship and is useful for debugging code however the security is bad and the code is executed slowly
CPU vs GPU
CPUs excel at doing complex instructions on small data sets whereas GPUs excel at simple manipulations to much larger data sets
Cloud Computing
Client-Server network via the internet, where files are kept on a remote server and accessed virtually
What does the DMBS provide
Security backups index updating enforcement of referential integrity facilities to update and query the database
client side processing
Client Processing is where webpages use JavaScript to validate data before it gets sent to the sever for further validation.
Association LAW (OR)
A∨(B∨C)=(A∨B)∨C= A∨B∨C A OR (B OR C) is the same as (A OR B) OR C is the same as A OR B OR C
Solid-State examples
USB pens and SD cards
advantages of peer-to-peer
- cheap to set up and maintain
- easy sharing
Algorithm for deletion into a stack:
- Check to see if the stack is empty
- If the stack is empty report an error and stop
- Copy the data item in location pointed to by the stack pointer
- Decrement the stack pointer
conjunction
AND
Atomicity
a change to a database is either completely performed or not performed at all. A half-completed change MUST NOT be saved back to the database.
integer
any positive or negative whole number e.g. 3, 0, -14
how to normalise a number:
- see how many places the binary point has to move so the number starts 01 or 10
- store this number in the exponent and then new format of the number in the exponen
Fibre Optic Cables
newer, faster and high-capacity
Code generation
(stages of compilation stage 3)
the syntax tree is converted into object code
Advantages of a client-server network
- Security is better since all files are stored in a central location
- Back ups are done centrally so individual users do not need to back up
- data and resources can be shared
Algorithm for insertion into a queue:
- Check to see is the queue is full
- If the queue is full report an error ad stop
- Insert new data item into location pointed to by the head pointer
- Increment the head pointer and stop
Hardware interrupt
- shut down triggered by user pressing on/off button
- memory parity error (when comparisons don’t match)
- internal clock triggers suspending a running process
why is manageable code important
easy to read, debug and easy to maintain
logic gates in a half adder
XOR (to the sum)
AND (to the carry)
application layer
(1) Packages data and passes it on to the transport layer.
Object Orientated languages examples
C++ and Java
The Computer Misuse Act
makes unauthorized access to computer systems illegal:
The intent to commit or facilitate commission of further offences with intent to impair the operating of a computer
virtual memory
when the main memory is almost full sections which are less frequently used are stored on the hard disk to free up RAM space
first normal form
- Eliminate duplicate columns
- Get rid of any groups of repeating data
- Identify the primary key
- Separate out any attributes which are not atomic into separate attributes
Solid-state storage disadvantages
Expensive
limited lifespan - each section can only be written to a set number of times
Operating System
software that manages the computer; it manages the hardware, software, security and the user interface
LIFO
last in first out
what happens when a search engine indexes a page
crawlers traverse the web following links and checking each word in the document. It adds an index entry for the page alongside the words position on the page.
three types of secondary storage
magnetic, optical, solid-state
Method of capturing data (Automated)
barcode readers, scanners, sensors, magnetic ink character recognition, smart card readers
4 types of system software
OS, utility, libraries, translators
JPEG
joint photographic experts group, losy compressed form of graphics storage
X∨0 =
X
SQL
SQL is a language which allows for fast, efficient querying and reporting of vast amounts of data held in a relational database. It is a very high-level language.
Referential Integrity
Referential Integrity is where table relationships must always be consistent. Any foreign key field must agree with the primary key that is referenced by the foreign key. Thus, any changes to the primary key field must be applied to all foreign keys in another table, or not at all.