Demonstrate an understanding of Computer Management Systems 114049

PURPOSE OF THE UNIT STANDARD This unit standard is intended: To provide a fundamental knowledge of the areas covered For those working in, or entering the workplace in the area of Information Technology As additional knowledge for those wanting to understand the areas covered

People credited with this unit standard are able to: Describe data management issues and how it is addressed by a DBMS. Describe commonly implemented features of commercial computer DBMS`s Describe different type of DBMS`s Review DBMS end-user tools The performance of all elements is to a standard that allows for further learning in this area.

LEARNING ASSUMED TO BE IN PLACE AND RECOGNITION OF PRIOR LEARNING The credit value of this unit is based on a person having prior knowledge and skills to: Demonstrate an understanding of fundamental mathematics (at least NQF level 3). Demonstrate PC competency skills (End-User Computing unit Standards, at least up to NQF level 3)

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 50

INDEX

Competence Requirements Page Unit Standard 114049 alignment index Here you will find the different outcomes explained which you need to be 52 proved competent in, in order to complete the Unit Standard 114049. Unit Standard 114049 54 Describe data management issues 57 Commonly implemented features of commercial database management systems 63 Different types of DBMS’s 67 Review DBMS end-user tools 73 Self-assessment Once you have completed all the questions after being facilitated, you need to check the progress you have made. If you feel that you are competent in the areas mentioned, you may tick the blocks, if however you feel that you require 83 additional knowledge, you need to indicate so in the block below. Show this to your facilitator and make the necessary arrangements to assist you to become competent.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 51

Unit Standard 114049 – Alignment Index SPECIFIC OUTCOMES AND RELATED ASSESSMENT CRITERIA SO 1 Describe data management issues and how it is addressed by a DBMS AC 1 The description identifies the problem they represent and includes examples AC 2 The description outlines ways which database management systems address the issues Describe commonly implemented features of commercial database management SO 2 systems. (Data access tools, recovery, audit, distributed data management, backup, ) AC 1 The description identifies the purpose of each feature The description identifies the way in which each feature contributes to the solution of data AC 2 management issues SO 3 Describe different types of DBMS’s. (Hierarchical, Relational, Network, Object) AC 1 The description describes characteristics of the DBMS-type AC 2 The description gives examples of the use of the DBMS-type SO 4 Review DBMS end-user tools AC 1 The review identifies the features and limitations of the tools AC 2 The review outlines the interaction between the tools and the database AC 3 The review is based upon use of the tools

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 52

CRITICAL CROSS FIELD OUTCOMES UNIT STANDARD CCFO WORKING Work effectively with others as a member of an organisation.

UNIT STANDARD CCFO ORGANISING Organise and manage him/her self and his/her activities responsibly and effectively.

UNIT STANDARD CCFO COLLECTING Collect, analyse, organise, and critically evaluate information.

UNIT STANDARD CCFO SCIENCE Use science and technology effectively and critically, showing responsibility towards the environment and health of others.

UNIT STANDARD CCFO DEMONSTRATING Demonstrate an understanding of the world as a set of related systems by recognising that problem solving contexts do not exists in isolation.

UNIT STANDARD CCFO CONTRIBUTING Contribute to his/her full personal development and the social and economic development of the society at large by being aware of the importance of: reflecting on and exploring a variety of strategies to learn more effectively, exploring education and career opportunities and developing entrepreneurial opportunities ESSENTIAL EMBEDDED KNOWLEDGE

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 53

All qualifications and part qualifications registered on the National Qualifications Framework are public property. Thus the only payment that can be made for them is for service and reproduction. It is illegal to sell this material for profit. If the material is reproduced or quoted, the South African Qualifications Authority (SAQA) should be acknowledged as the source.

SOUTH AFRICAN QUALIFICATIONS AUTHORITY REGISTERED UNIT STANDARD: Demonstrate an understanding of Computer Database Management Systems

SAQA ID UNIT STANDARD TITLE 114049 Demonstrate an understanding of Computer Database Management Systems ORIGINATOR SGB Information Systems and Technology FIELD SUBFIELD Field 10 - Physical, Mathematical, Computer and Life Sciences Information Technology and Computer Sciences ABET UNIT STANDARD PRE-2009 NQF LEVEL NQF LEVEL CREDITS BAND TYPE Undefined Regular Level 5 Level TBA: Pre-2009 was 7 L5 REGISTRATION STATUS REGISTRATION START REGISTRATION END SAQA DECISION DATE DATE NUMBER Reregistered 2018-07-01 2023-06-30 SAQA 06120/18 LAST DATE FOR ENROLMENT LAST DATE FOR ACHIEVEMENT 2024-06-30 2027-06-30

In all of the tables in this document, both the pre-2009 NQF Level and the NQF Level is shown. In the text (purpose statements, qualification rules, etc), any references to NQF Levels are to the pre-2009 levels unless specifically stated otherwise.

This unit standard does not replace any other unit standard and is not replaced by any other unit standard.

PURPOSE OF THE UNIT STANDARD This unit standard is intended:  To provide a fundamental knowledge of the areas covered  For those working in, or entering the workplace in the area of Information Technology  As additional knowledge for those wanting to understand the areas covered

People credited with this unit standard are able to:  Describe data management issues and how it is addressed by a DBMS.  Describe commonly implemented features of commercial computer DBMS`s  Describe different type of DBMS`s  Review DBMS end-user tools The performance of all elements is to a standard that allows for further learning in this area.

LEARNING ASSUMED TO BE IN PLACE AND RECOGNITION OF PRIOR LEARNING The credit value of this unit is based on a person having prior knowledge and skills to:  Demonstrate an understanding of fundamental mathematics (at least NQF level 3).  Demonstrate PC competency skills (End-User Computing unit Standards, at least up to NQF level 3)

UNIT STANDARD RANGE N/A

Specific Outcomes and Assessment Criteria:

SPECIFIC OUTCOME 1 Describe data management issues and how it is addressed by a DBMS.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 54

OUTCOME RANGE Access, shared use, security, integrity, privacy, reliability, risk, performance, integration, data administration.

ASSESSMENT CRITERIA

ASSESSMENT CRITERION 1 1. The description identifies the problem they represent and includes examples.

ASSESSMENT CRITERION 2 2. The description outlines ways which database management systems address the issues.

SPECIFIC OUTCOME 2 Describe commonly implemented features of commercial database management systems. OUTCOME RANGE Data access tools, recovery, audit, distributed data management, backup, transaction processing.

ASSESSMENT CRITERIA

ASSESSMENT CRITERION 1 1. The description identifies the purpose of each feature.

ASSESSMENT CRITERION 2 2. The description identifies the way in which each feature contributes to the solution of data management issues.

SPECIFIC OUTCOME 3 Describe different type of DBMS`s. OUTCOME RANGE Hierarchical, Relational, Network, Object.

ASSESSMENT CRITERIA

ASSESSMENT CRITERION 1 1. The description describes characteristics of the DBMS-type.

ASSESSMENT CRITERION 2 2. The description gives examples of the use of the DBMS-type.

SPECIFIC OUTCOME 4 Review DBMS end-user tools.

ASSESSMENT CRITERIA

ASSESSMENT CRITERION 1 1. The review identifies the features and limitations of the tools.

ASSESSMENT CRITERION 2 2. The review outlines the interaction between the tools and the database.

ASSESSMENT CRITERION 3 3. The review is based upon use of the tools.

UNIT STANDARD ACCREDITATION AND MODERATION OPTIONS The relevant Education and Training Quality Authority (ETQA) must accredit providers before they can offer programs of education and training assessed against unit standards.

Moderation Process: Moderation of assessment will be overseen by the relevant ETQA according to the moderation guidelines in the relevant qualification and the agreed ETQA procedures.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 55

UNIT STANDARD ESSENTIAL EMBEDDED KNOWLEDGE 1. Performance of all elements is to be carried out in accordance with organisation standards and procedures, unless otherwise stated. Organisation standards and procedures may cover: quality assurance, documentation, security, communication, health and safety, and personal behaviour. An example of the standards expected is the standards found in ISO 9000 Certified Organisations.

2. Performance of all elements complies with the laws of South Africa, especially with regard to copyright, privacy, health and safety, and consumer rights.

3. All activities must comply with any policies, procedures and requirements of the organisations involved, the ethical codes of relevant professional bodies and any relevant legislative and/ or regulatory requirements.

UNIT STANDARD DEVELOPMENTAL OUTCOME N/A

UNIT STANDARD LINKAGES N/A

Critical Cross-field Outcomes (CCFO):

UNIT STANDARD CCFO WORKING Work effectively with others as a member of an organisation.

UNIT STANDARD CCFO ORGANISING Organise and manage him/her self and his/her activities responsibly and effectively.

UNIT STANDARD CCFO COLLECTING Collect, analyse, organise, and critically evaluate information.

UNIT STANDARD CCFO SCIENCE Use science and technology effectively and critically, showing responsibility towards the environment and health of others.

UNIT STANDARD CCFO DEMONSTRATING Demonstrate an understanding of the world as a set of related systems by recognising that problem solving contexts do not exists in isolation.

UNIT STANDARD CCFO CONTRIBUTING Contribute to his/her full personal development and the social and economic development of the society at large by being aware of the importance of: reflecting on and exploring a variety of strategies to learn more effectively, exploring education and career opportunities and developing entrepreneurial opportunities.

UNIT STANDARD ASSESSOR CRITERIA N/A

REREGISTRATION HISTORY As per the SAQA Board decision/s at that time, this unit standard was Reregistered in 2012; 2015.

UNIT STANDARD NOTES Supplementary information:  None. Sub-Sub-Field (Domain):  Computer Operations

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 56

Describe data management issues and how it is addressed by a DBMS Time: 90 minutes Activity: Self and Group

AC 1 Describe data management issues and how it is addressed by a DBMS. A database management system is a collection of programs that enables you to store, modify, and extract information from a database. There are many different types of DBMS’s, ranging from small systems that run on personal computers to huge systems that run on mainframes. The following are examples of database applications: Computerized library systems Automated teller machines Flight reservation systems Computerised parts inventory systems

From a technical standpoint, DBMS’s can differ widely. The terms relational, network, flat, and hierarchical all refer to the way a DBMS organizes information internally. The internal organization can affect how quickly and flexibly you can extract information. Requests for information from a database are made in the form of a query, which is a stylized question. For example, the query…

SELECT ALL WHERE NAME = "SMITH" AND AGE > 35

Requests all records in which the NAME field is SMITH and the AGE field is greater than 35. The set of rules for constructing queries is known as a query language. Different DBMS’s support different query languages, although there is a semi-standardized query language called SQL (structured query language). Sophisticated languages for managing database systems are called fourth-generation languages, or 4GLs for short.

The information from a database can be presented in a variety of formats. Most DBMS’s include a report writer program that enables you to output data in the form of a report. Many DBMS’s also include a graphics component that enables you to output information in the form of graphs and charts.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 57

AC 2 The description outlines ways which database management systems address the issues. Description A DBMS is a complex set of software programs that controls the organization, storage, management, and retrieval of data in a database. A DBMS includes: A modelling language to define the schema of each database hosted in the DBMS, according to the DBMS data model. The four most common types of organizations are the hierarchical, network, relational and object models. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost). The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the , since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMS’s also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS. Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory). A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschema’s. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal . However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 58

A transaction mechanism, that ideally would guarantee the ACID properties, in order to ensure data integrity, despite concurrent user accesses (concurrency control), and faults (fault tolerance). It also maintains the integrity of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID properties for more information (Redundancy avoidance). The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. When a DBMS is used, information systems can be changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system. Organizations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators.

Database servers are specially designed computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with RAID disk arrays used for stable storage. Connected to one or more servers via a high-speed channel, hardware database accelerators are also used in large volume transaction processing environments.

DBMS's are found at the heart of most database applications. Sometimes DBMS’s are built around a private multitasking kernel with built-in networking support although nowadays these functions are left to the operating system.

Features and Abilities of DBMS One can characterize a DBMS as an "attribute management system" where attributes are small chunks of information that describe something. For example, "colour" is an attribute of a car. The value of the attribute may be a colour such as "red", "blue", "silver", etc. Lately databases have been modified to accept large or unstructured (pre-digested or pre- categorized) information as well, such as images and text documents.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 59

However, the main focus is still on descriptive attributes. DBMS roll together frequently- needed services or features of attribute management. This allows one to get powerful functionality "out of the box" rather than program each from scratch or add and integrate them incrementally. Such features include: Querying is the process of requesting attribute information from various perspectives and combinations of factors.

A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database.

Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschema’s. If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases.

Backup and replication Copies of attributes need to be made regularly in case primary disks or other equipment fails. A periodic copy of attributes may also be created for a distant organization that cannot readily access the original. DBMS usually provide utilities to facilitate the process of extracting and disseminating attribute sets.

When data is replicated between database servers, so that the information remains consistent throughout the database system and users cannot tell or even know which server in the DBMS they are using, the system is said to exhibit replication transparency.

Rule enforcement Often one wants to apply rules to attributes so that the attributes are clean and reliable. For example, we may have a rule that says each car can have only one engine associated with it (identified by Engine Number). If somebody tries to associate a second engine with a given car, we want the DBMS to deny such a request and display an error message.

However, with changes in the model specification such as, in this example, hybrid gas- electric cars, rules may need to change. Ideally such rules should be able to be added and removed as needed without significant data layout redesign.

Security

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 60

Often it is desirable to limit who can see or change which attributes or groups of attributes. This may be managed directly by individual, or by the assignment of individuals and privileges to groups, or (in the most elaborate models) through the assignment of individuals and groups to roles which are then granted entitlements.

Computation There are common computations requested on attributes such as counting, summing, averaging, sorting, grouping, cross-referencing, etc. Rather than have each computer application implement these from scratch, they can rely on the DBMS to supply such calculations.

Change and access logging Often one wants to know who accessed what attributes, what was changed, and when it was changed. Logging services allow this by keeping a record of access occurrences and changes.

Automated optimization If there are frequently occurring usage patterns or requests, some DBMS can adjust themselves to improve the speed of those interactions. In some cases the DBMS will merely provide tools to monitor performance, allowing a human expert to make the necessary adjustments after reviewing the statistics collected

Fundamental features Information about what fundamental RDBMS features are implemented natively. Referential ACID Transactions Unicode integrity 4th Dimension ? ? ? ? Adabas ? ? ? ? Adaptive Server Enterprise Yes Yes Yes Yes Apache Derby Yes Yes Yes Yes DB2 Yes Yes Yes Yes Firebird Yes Yes Yes Yes HSQLDB Yes Yes Yes Yes H2 Yes Yes Yes Yes Informix Yes Yes Yes Yes Ingres Yes Yes Yes Yes

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 61

InterBase Yes Yes Yes Yes MaxDB Yes Yes Yes Yes Microsoft SQL Server Yes Yes Yes Yes MonetDB Yes Yes Yes Yes

MySQL Yes 3 Yes 3 Yes 3 Yes Oracle Yes Yes Yes Yes

Open Edge Yes Yes 5 Yes Yes OpenLink Virtuoso Yes Yes Yes Yes PostgreSQL Yes Yes Yes Yes Pyrrho DBMS Yes Yes Yes Yes SQL Anywhere Yes Yes Yes Yes

SQLite Yes No 4 Basic 4 Yes Teradata Yes Yes Yes Yes Valentina No Yes No Yes

Source (https://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems#fn_5)

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 62

Describe commonly implemented features of commercial database management systems Time: 90 minutes Activity: Self and Group

AC 1 The description identifies the purpose of each feature. Hierarchical DBMS’s refer to systems that are organized in the shape of a pyramid, with each row of objects linked to objects directly beneath it. Hierarchical systems pervade everyday life. The army, for example, which has generals at the top of the pyramid and privates at the bottom, is a hierarchical system. Similarly, the system for classifying plants and animals according to species, family, genus, and so on, is also hierarchical.

Hierarchical systems are as popular in computer systems as they are in other walks of life. The most obvious example of a hierarchical system in computers is a file system, in which directories have files and subdirectories beneath them.

Such a file organization is, in fact, called a hierarchical file system. In addition to file systems, many data structures for storing information are hierarchical in form. Menu-driven programs are also hierarchical, because they contain a root menu at the top of the pyramid and submenus below it.

A RDBMA is short for relational database management system and pronounced as separate letters, a type of database management system (DBMS) that stores data in the form of related tables. Relational databases are powerful because they require few assumptions about how data is related or how it will be extracted from the database.

As a result, the same database can be viewed in many different ways. An important feature of relational systems is that a single database can be spread across several tables. This

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 63

differs from flat-file databases, in which each database is self-contained in a single table. Almost all full-scale database systems are RDBMS's. Small database systems, however, use other designs that provide less flexibility in posing queries.

Navigational databases incorporate both the and hierarchical model of database interfaces and have evolved into Set-oriented systems. Navigational techniques use "pointers" and "paths" to navigate among data records (also known as "nodes").

This is in contrast to the relational model (implemented in relational databases), which strives to use "declarative" or logic programming techniques in which you ask the system for what you want instead of how to navigate to it.

For example, to give directions to a house, the navigational approach would resemble something like, "Get on highway 25 for 8 miles, turn onto Horse Road, left at the red barn, then stop at the 3rd house down the road". Whereas, the declarative approach would resemble, "Visit the green house(s) within the following coordinates...."

Hierarchical models are also considered navigational because one "goes" up (to parent), down (to leaves), and there are "paths", such as the familiar file/folder paths in hierarchical file systems. In general, navigational systems will use combinations of paths and prepositions such as "next", "previous", "first", "last", "up", "down", etc. "Paths" are often formed by concatenation of node names or node addresses. Example: Node6.Node4.Node5.Node1 Node6/Node4/Node5/Node1

If there is no link between given nodes, then an error condition is usually triggered with a message such as "Invalid Path". The path "Node6.Node2.Node1" would be invalid in most systems because there is no direct link between Node 6 and Node 2. The usage of the term "navigational" allegedly is derived from a statement by in which he describes the "programmer as navigator" while accessing his favoured type of database.

Except for hierarchical file systems (which some consider a form of database), navigational techniques fell out of favour by the 1980s. However, object oriented programming and XML have kindled a

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 64

renewed, but controversial interest in navigational techniques.

Critics of navigational techniques view them as "unstructured spaghetti messes", and liken them to the "Go to" of pre-structured programming. In other words, they are allegedly to data organization what go-to's were to behaviour flow. In this view, relational techniques provide improved discipline and consistency to data organization and usage because of its roots in set theory and predicate calculus.

AC 2 The description identifies the way in which each feature contributes to the solution of data management issues. But, in practice relational has yet to successfully scale down to smaller-use data. Whether this is an inherent fault of relational, or could be solved by further research into improving implementation techniques is difficult to say at this point. Some fault the SQL language rather than relational theory in general.

Another possibility is that existing relational products generally depend too heavily on fixed column widths and pre-defined types. These are sometimes seen as excessive for informal or nimble usage. Dynamically-typed and sized versions of relational tools would have to be developed and tested before being accepted by the industry.

Some also suggest that navigational database engines are easier to build and take up less memory (RAM) than relational equivalents. However, the existence of relational or relational- based products of the late 1980's that possessed small engines (by today's standards) because they didn't use SQL suggest this is not necessarily the case. Whatever the reason, navigational techniques are still the preferred way to handle smaller-scale structures. A current example of navigational structuring can be found in the (DOM) often used in web browsers and closely associated with JavaScript. The DOM "engine" is essentially a light-weight navigational database. It is interesting that all of the forms of data structure diagrams, whether the original Charles Bachman form, the Peter Chen ERD

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 65

form, the newer Partnership Model form, or the unified model language, are graphic representations of a network model of the subject.

This suggests that the visual nature of navigational structures is another reason for their continued use. The relativistic, multi-dimensional nature of relational data can make it difficult to visually represent. However, defenders of relational will argue that the relativism is part of its power

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 66

Describe different types of DBMS’s Time: 120 minutes Activity: Self and Group

AC 1 The description describes characteristics of the DBMS-type. Characteristics of Database Management System: This article introduces with the main Characteristics of Database management system. At the end of this article you will be able to understand what are the basic Characteristics of Database management systems? There are numerous characteristics of database management system but few of them are very important that are given below.

Characteristics of Database Management System Stores any kind of data A database management system should be able to store any kind of data. It should not be restricted to the employee name, salary and address. Any kind of data that exists in the real world can be stored in DBMS because we need to work with all kinds of data that is present around us.

Support ACID Properties Any DBMS is able to support ACID (Accuracy, Completeness, Isolation, and Durability) properties. It is made sure is every DBMS that the real purpose of data should not be lost while performing transactions like delete, insert an update. Let us take an example; if an employee name is updated then it should make sure that there is no duplicate data and no mismatch of student information.

Represents complex relationship between data Data stored in a database is connected with each other and a relationship is made in between data. DBMS should be able to represent the complex relationship between data to make the efficient and accurate use of data.

Backup and recovery There are many chances of failure of whole database. At that time no one will be able to get the database back and for sure company will be in a big loss. The only solution is to take backup of database and whenever it is needed, it can be stored back. All the databases must have this characteristic.

Structures and described data

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 67

A database should not contains only the data but also all the structures and definitions of the data. This data represent itself that what actions should be taken on it. These descriptions include the structure, types and format of data and relationship between them.

Data integrity This is one of the most important characteristics of database management system. Integrity ensures the quality and reliability of database system. It protects the unauthorized access of database and makes it more secure. It brings only the consistence and accurate data into the database.

Concurrent use of database There are many chances that many users will be accessing the data at the same time. They may require altering the database system concurrently. At that time, DBMS supports them to concurrently use the database without any problem.

AC 2 The description gives examples of the use of the DBMS-type. What is a Database? A database is a collection of related data which represents some aspect of the real world. A database system is designed to be built and populated with data for a certain task.

What is DBMS? Database Management System (DBMS) is a software for storing and retrieving users' data while considering appropriate security measures. It consists of a group of programs which manipulate the database. The DBMS accepts the request for data from an application and instructs the operating system to provide the specific data. In large systems, a DBMS helps users and other third-party software to store and retrieve data.

DBMS allows users to create their own databases as per their requirement. The term “DBMS” includes the user of the database and other application programs. It provides an interface between the data and the software application.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 68

Example of a DBMS Let us see a simple example of a university database. This database is maintaining information concerning students, courses, and grades in a university environment. The database is organized as five files: The STUDENT file stores data of each student The COURSE file stores contain data on each course. The SECTION stores the information about sections in a particular course. The GRADE file stores the grades which students receive in the various sections The TUTOR file contains information about each professor. To define a database system: We need to specify the structure of the records of each file by defining the different types of data elements to be stored in each record. We can also use a coding scheme to represent the values of a data item. Basically, your Database will have 5 tables with a foreign key defined amongst the various tables.

History of DBMS Here, are the important landmarks from the history: 1960 - Charles Bachman designed first DBMS system 1970 - Codd introduced IBM'S Information Management System (IMS) 1976- Peter Chen coined and defined the Entity-relationship model also known as the ER model 1980 - Relational Model becomes a widely accepted database component 1985- Object-oriented DBMS develops. 1990s- Incorporation of object-orientation in relational DBMS. 1991- Microsoft ships MS access, a personal DBMS and that displaces all other personal DBMS products. 1995: First Internet database applications 1997: XML applied to database processing. Many vendors begin to integrate XML into DBMS products.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 69

Characteristics of Database Management System Provides security and removes redundancy Self-describing nature of a database system Insulation between programs and data abstraction Support of multiple views of the data Sharing of data and multiuser transaction processing DBMS allows entities and relations among them to form tables. It follows the ACID concept ( Atomicity, Consistency, Isolation, and Durability). DBMS supports multi-user environment that allows users to access and manipulate data in parallel.

DBMS vs. Flat File

DBMS Flat File Management System

Multi-user access It does not support multi-user access

Design to fulfil the need for small and It is only limited to smaller DBMS system. large businesses

Remove redundancy and Integrity Redundancy and Integrity issues

Expensive. But in the long term Total It's cheaper Cost of Ownership is cheap

Easy to implement complicated No support for complicated transactions transactions Users in a DBMS environment Following, are the various category of users of a DBMS system

Component Name Task

Application The Application programmers write programs in various Programmers programming languages to interact with databases.

Database Database Admin is responsible for managing the entire Administrators DBMS system. He/She is called Database admin or DBA.

End-Users The end users are the people who interact with the database management system. They conduct various operations on database like retrieving, updating, deleting, etc.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 70

Popular DBMS Software Here, is the list of some popular DBMS system: MySQL Microsoft Access Oracle PostgreSQL dBASE FoxPro SQLite IBM DB2 LibreOffice Base MariaDB Microsoft SQL Server etc. Application of DBMS

Sector Use of DBMS

Banking For customer information, account activities, payments, deposits, loans, etc.

Airlines For reservations and schedule information.

Universities For student information, course registrations, colleges and grades.

Telecommunication It helps to keep call records, monthly bills, maintaining balances, etc.

Finance For storing information about stock, sales, and purchases of financial instruments like stocks and bonds.

Sales Use for storing customer, product & sales information.

Manufacturing It is used for the management of supply chain and for tracking production of items. Inventories status in warehouses.

HR Management For information about employees, salaries, payroll, deduction, generation of paychecks, etc.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 71

Types of DBMS Four Types of DBMS systems are: Hierarchical, Network, Relational & Object-Oriented DBMS

Hierarchical DBMS In a Hierarchical database, model data is organized in a tree-like structure. Data is Stored Hierarchically (top down or bottom up) format. Data is represented using a parent-child relationship. In Hierarchical DBMS parent may have many children, but children have only one parent.

Network Model The network allows each child to have multiple parents. It helps you to address the need to model more complex relationships like as the orders/parts many-to- many relationship. In this model, entities are organized in a graph which can be accessed through several paths.

Relational model Relational DBMS is the most widely used DBMS model because it is one of the easiest. This model is based on normalizing data in the rows and columns of the tables. Relational model stored in fixed structures and manipulated using SQL.

Object-Oriented Model In Object-oriented Model data stored in the form of objects. The structure which is called classes which display data within it. It defines a database as a collection of objects which stores both data members values and operations

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 72

Review DBMS end-user tools Time: 120 minutes Activity: Self and Group

AC 1 he description describes characteristics of the DBMS-type. EDITH T Project details The scientific and technological objective of project EDITH is to introduce multidimensional clustering (MHC/HI) into data warehousing (DW) and data mining (DM) and to integrate MHC/HI carefully with multidimensional database engines and front-end tools. In this way we will achieve the following more specific objectives:

Improve modelling of DW and DM applications  Ease the formulation of queries by advanced graphical interfaces  Improve performance and speed up access to DW by the combination of MHC/HI and multidimensional indexing  Improve the presentation of DM results to the end user by advanced visualisation techniques  Verify results with large scale realistic applications

Objective 1: For the benefit of the end user the objective is to improve accessibility and response times of DW and DM applications - which have prohibitive modelling and response time barriers for very large applications today - in such a way, that interactive Intranet and even Internet access to DW becomes feasible for many people in the future.

Improved Modelling All DW applications use some sort of hierarchies, e.g. with respect to time, products, geographic regions, etc. We have the objective to model hierarchies according to the MHC/HI technique, whereby every level of a hierarchy is mapped to surrogates and a complete hierarchy is mapped to compound surrogates.

Compound surrogates are then combined with multidimensional indexing to organise the underlying data to improve performance. However, this integration must be supported by modelling techniques which are easy to use and to understand, and which are supported as far as possible automatically by the underlying database management system (DBMS).

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 73

Objective 2: An improved modelling technique for databases with hierarchically organised multidimensional data will be developed and field tested in the application domains of data warehouses and geographical information systems.

Formulation of Queries Hierarchies are quite suitable for query specifications in the roll-up and drill-down fashion of typical DW and DM applications. Query specification can be supported very efficiently by easy-to-use graphical user interfaces at the level of the semantics of the application.

In order to support this type of modelling and query specification, the mapping from the application level hierarchies to surrogates will be carried out automatically by the integration of MHC/HI into the DBMS. The theory of modelling hierarchies is reasonably well understood, but the details of architecture, algorithmic design and implementation are still open and will be investigated.

They depend on well-designed algorithms on one hand and on properties of the underlying DBMS on the other hand. Therefore, two academic institutions and several industrial partners will combine their expertise in order to develop optimal solutions to this complex problem.

Objective 3: A general approach to formulate queries for hierarchically organised multidimensional data will be established, integrated into a query processing front-end and tested with a practical data warehousing application.

Performance It is the objective to combine MHC/HI and multidimensional indexing. These techniques will be integrated into the kernel of a DBMS in order to improve performance significantly. It has been shown by a very successful preceding ESPRIT project that multidimensional indexing can speed up DW applications by an order of magnitude and even more.

But in this case the MHC/HI modelling had to be handcrafted into the data model and the query formulation. By combining both techniques and integrating them into the kernel of the DBMS, this performance improvements will become easily available to the end user.

Objective 4: MHC/HI will integrated into the kernel of a relational DBMS and demonstrate performance gains of at least a factor two for processing queries with hierarchical restrictions on multidimensional, hierarchical databases.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 74

Visualisation It is the objective to improve the understanding of DW and DM results by good visualisation techniques. Particularly, if results can be produced very fast (see objective 2.3) it is important to present them to the end user in an easy-to-understand way. Therefore, the visualisation tools of one partner will be integrated with the multidimensional DBMS of the other partner. The interpretation of results will be easy compared to conventional techniques and therefore speedup decision finding and economic success.

Objective 5: A tool capable to visualise the results of queries on multidimensional hierarchical data will be implemented and tested in the application domain of data warehousing.

Verification of Results with Applications The techniques developed will be verified by applying them to large multidimensional problems of several partners. For this objective partners with modelling expertise and partners with large data warehouses problems will co-operate, in order to use the enhanced DBMS and the integrated tools. They will build large applications and compare modelling and performance with classical techniques, as they are state of the art today, i.e. preceding to this project.

Objective 6: The new MHC/HI feature will be analysed and compared in detail to conventional indexing techniques. The performance gains of MHC/HI will be verified for the application domains of geographical information systems and data warehousing.

Microsoft Access Microsoft Access Launching Microsoft Access is a computer application used to create and manage computer-based databases on desktop computers and/or on connected computers (a network). Microsoft Access can be used for personal information management (PIM), in a small business to organize and manage all data, or in an enterprise to communicate with servers. Like any other computer application, in order to use Microsoft Access, you must first open it.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 75

There are various ways this can be done. Microsoft Access is a classic computer application and it gets launched like the usual products you have probably been using. As such, to start this program, you could click Start -> (All) Programs -> Microsoft Access:

As a regular member of the Microsoft Office suite of applications, if your installation created a sub-menu on the Start menu, you could click Start -> New Office Application and proceed from the New dialog box.

Although Microsoft Office 97 and Microsoft Office 2000 get installed in the C:\Program Files\Microsoft Office folder, they treat the shortcuts that launch them differently. The applications that are part of Microsoft Office 97 designate their shortcuts with full names and these are installed in the Microsoft Office folder.

Microsoft Office uses shortcut names to designate its shortcuts and they are installed in the Microsoft Office\Office folder. This means that you could launch an application from Windows Explorer or My Computer. Therefore, in order to launch Microsoft Access, locate its shortcut in Windows Explorer or My Computer and double-click it:

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 76

If you have a Microsoft Access database such as an E-Mail attachment, a file on a floppy disk, on the network, or in any other means, once you see its icon, you can double-click it. Not only will this action launch Microsoft Access, but also it will open the file.

You can also launch Microsoft Access from a shortcut. If you happen to use the software on a regular basis, you can create a shortcut on your desktop or on the Quick Launch area. Many users also take advantage of the Microsoft Office Shortcut Bar. Sometimes, the icon you need will not be there; in that case you should insert it manually.

If you are working on a network of related computers, your database may be located in another computer. In this case the network or database administrator would create a link or shortcut to the drive that is hosting the database. You can then click or double-click this link or shortcut to open the database and, as a result, launch Microsoft Access.

AC 2 he description gives examples of the use of the DBMS-type. Some Functions of MS Access T Data Maintenance Default Value Data entry consists of typing values in data fields or selecting values from bound controls. Some records happen to have the same value for a particular field, or most records hold a common value for a certain field. When designing a form, you can assign the most commonly used value to such a field so the user would not have to type it.

The user would change the value only if it is different from the usual. For example, when creating a database for a small company, all employees may have the same telephone number but with individual extensions. When a new record is being entered, the value would be set already for the field.

To specify a regularly used value for a field, open a table or a form in Design View, select the field, and type the desired value in the Default Value field. The default value should be appropriately typed:  If the field is text-based, you can type the default text included in double-quotes. Examples are “M”, “Virginia”, “(012) 422-4738”  If the field is numeric, you can type the default number  If the field is date-based, you have two options and you want to specify a fixed date as the default value, type it between two # signs. An example would be #2/5/1998#

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 77

 If the field is date-based, you can also type a function that would find the correct date to display. For example, to provide the current date as default value, you would use the Date() function.

Creating a Database The Database Wizard Many techniques allow you to create a database, the fastest of which consists of using one of the provided examples. Microsoft Access 97 shipped with 22 sample databases while Microsoft Access 2000 ships with 10. Furthermore, the 97 version allowed providing sample data into the database. This is not available with the 2000 release. The databases that ship with Microsoft Access can help you in two main ways: they provide a fast means of creating a database and you can learn from their structure.

To create a database using one of the samples, there is a little detail to follow depending on whether you had launched the program already or not. If Microsoft Access is not running, you can start it. When the first dialog box comes up, you can click the second radio button: Access Database Wizard, Pages, And Projects and click OK. If the program is already on your screen, on the menu bar, click File -> New Database…

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 78

The New dialog box displays two property pages labelled General and Databases. If you want to create a database based on one of the samples, you can click the Databases property page. A list of the sample databases appears. You can then choose one and click OK.

When creating a database using one of the samples, depending on the sample you selected, the Database Wizard will display a few objects and suggest some fields for your database. Some fields are already associated with the objects and some other fields can be added. You can examine them, then add some fields you think are important for your database. You will also have the option of selecting a design layout. Some of the sample databases have been configured to require information about the company you are creating the database for…

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 79

AC 3 he review is based upon use of the tools. Uses T Access is used by small businesses, within departments of large corporations, and hobby programmers to create ad hoc customized desktop systems for handling the creation and manipulation of data. Access can be used as a database for basic web based applications hosted on Microsoft's Internet Information Services and utilizing Microsoft Active Server Pages ASP. Most typical web applications should use tools like ASP/Microsoft SQL Server or the LAMP stack.

Some professional application developers use Access for rapid application development, especially for the creation of prototypes and standalone applications that serve as tools for on-the-road salesmen. Access does not scale well if data access is via a network, so applications that are used by more than a handful of people tend to rely on Client-Server based solutions.

However, an Access "front end" (the forms, reports, queries and VB code) can be used against a host of database backends, including JET (file-based database engine, used in Access by default), Microsoft SQL Server, Oracle, and any other ODBC-compliant product.

Features One of the benefits of Access from a programmer's perspective is its relative compatibility with SQL (structured query language) —queries may be viewed and edited as SQL statements, and SQL statements can be used directly in Macros and VBA Modules to manipulate Access tables.

In this case, "relatively compatible" means that SQL for Access contains many quirks, and as a result, it has been dubbed "Bill's SQL" by industry insiders. Users may mix and use both VBA and "Macros" for programming forms and logic and offers object-oriented possibilities. MSDE (Microsoft SQL Server Desktop Engine), a mini-version of MS SQL Server, is included with the developer edition of Office XP and may be used with Access as an alternative to the Jet Database Engine.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 80

Unlike a complete RDBMS, the Jet Engine lacks database triggers and stored procedures. Starting in MS Access 2000 (Jet 4.0), there is a syntax that allows creating queries with parameters, in a way that looks like creating stored procedures, but these procedures are limited to one statement per procedure.

Microsoft Access does allow forms to contain code that is triggered as changes are made to the underlying table (as long as the modifications are done only with that form), and it is common to use pass-through queries and other techniques in Access to run stored procedures in RDBMSs that support these.

In ADP files (supported in MS Access 2000 and later), the database-related features are entirely different, because this type of file connects to a MSDE or Microsoft SQL Server, instead of using the Jet Engine. Thus, it supports the creation of nearly all objects in the underlying server (tables with constraints and triggers, views, stored procedures and UDF-s). However, only forms, reports, macros and modules are stored in the ADP file (the other objects are stored in the back-end database).

Development Access allows relatively quick development because all database tables, queries, forms, and reports are stored in the database. For query development, Access utilizes the Query Design Grid, a graphical user interface that allows users to create queries without knowledge of the SQL programming language.

In the Query Design Grid, users can "show" the source tables of the query and select the fields they want returned by clicking and dragging them into the grid. Joins can be created by clicking and dragging fields in tables to fields in other tables. Access allows users to view and manipulate the SQL code if desired.

The programming language available in Access is, as in other products of the Microsoft Office suite, Microsoft Visual Basic for Applications. Two database access libraries of COM components are provided: the legacy Data Access Objects (DAO), which was superseded for a time (but still accessible) by (ADO) ActiveX Data Objects however (DAO) has been reintroduced in the latest version, MS Access.

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 81

Many developers who use Access use the Leszynski naming convention, though this is not universal; it is a programming convention, not a DBMS-enforced rule.[2] It is also made redundant by the fact Access categorises each object automatically and always shows the object type, by prefixing Table: or Query: before the object name when referencing a list of different database objects.

MS Access can be applied to small projects but scales poorly to larger projects involving multiple concurrent users because it is a desktop application, not a true client-server database. When a Microsoft Access database is shared by multiple concurrent users, processing speed suffers.

The effect is dramatic when there are more than a few users or if the processing demands of any of the users are high. Access includes an Upsizing Wizard that allows users to upsize their database to Microsoft SQL Server if they want to move to a true client-server database. It is recommended to use Access Data Projects for most situations.

Since all database queries, forms, and reports are stored in the database, and in keeping with the ideals of the relational model, there is no possibility of making a physically structured hierarchy with them.

One recommended technique is to migrate to SQL Server and utilize Access Data Projects. This allows stored procedures, views, and constraints - which are greatly superior to anything found in Jet. Additionally this full client-server design significantly reduces corruption, maintenance and many performance problems.

Access icons allows no relative paths when linking, so the development environment should have the same path as the production environment (though it is possible to write a "dynamic- linker" routine in VBA that can search out a certain back-end file by searching through the directory tree, if it can't find it in the current path). This technique also allows the developer to divide the application among different files, so some structure is possible

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 82

You are now ready to go through a check list. Be honest with yourself Tick the box with either a √ or an X to indicate your response

□ I am able to describe data management issues and how it is addressed by a DBMS.

□ I am able to describe commonly implemented features of commercial computer DBMS`s

□ I am able to describe different type of DBMS`s

□ I am able to review DBMS end-user tools

You must think about any point you could not tick. Write this down as a goal. Decide on a plan of action to achieve these goals. Regularly review these goals.

My Goals and Planning: ______

NC: IT: SYSTEMS DEVELOPMENT AUTHOR: LEARNER MANUAL REL DATE: 27/01/2020 REV DATE: 01/01/2023 DOC REF: 48872 LM MOD 5 V-1 PAGE 83