Professional Documents
Culture Documents
Task 1
(c)
Conflict Resolution
A database chooses thebestfilestructureandaccessmethodtoget
optimalperformancefortheresponse
criticalapplications,whilepermittinglesscriticalapplicationstocontinuetousethe
database,albeitwitharelativelyslowerresponse.
Data Independence
Dataindependenceisusuallyconsideredfromtwopointsofview:physicaldatainde
pendenceandlogicaldataindependence..
Physical data
independenceallowschangesinthephysicalstoragedevicesororganizationofthe
filestobemadewithoutrequiringchangesintheconceptualvieworanyoftheextern
alviewsandhenceintheapplicationprogramsusingthedatabase.
Logical data
independenceimpliesthatapplicationprogramsneednotbechangedif
Fieldsareaddedtoanexistingrecord;nordotheyhavetobechangediffieldsnotused
byapplicationsprogramsaredeleted. You may have experienced something
like the following example:
Imagine there are two people in your team or office, both of whom are great
at managing budgets. They are both accurate, detail-oriented and deliver the
results needed. However, one of them is a real people person. Their
interpersonal and communication skills are fantastic and, as a result of this,
they have no problem getting the information they require quickly from
colleagues at any level. The other person does not have this skill and often
encounters conflict from colleagues, perhaps for many different reasons.
Which of these people do you think needs personal development training?
As you can see from the example, both can do their jobs. Both have the skills
required on a professional level to deliver results, however, with the added
benefit of excellent relationship building skills one of the employees will
always be one step ahead.
Integrity
Data integrity is mandatory for the regulated healthcare industry, as
processing and disposition decisions regarding product quality, safety,
efficacy, purity, and compliance with the applicable regulatory requirements
are made based on data that is recorded and reported. Drug, medical device
manufacturers, service providers, health authorities, end users and
administrators of the product (patients and healthcare professionals) rely on
robust traceable data.
Recovery
In databases using the simple recovery model, you may restore full or
differential backups only. It is not possible to restore such a database to a
given point in time, you may only restore it to the exact time when a full or
differential backup occurred. Therefore, you will automatically lose any data
modifications made between the time of the most recent full/differential
backup and the time of the failure.
Security
Database security covers and enforces security on all aspects and
components of databases. This includes:
Data stored in database
Database server
Database management system (DBMS)
Other database workflow applications
Database security is generally planned, implemented and maintained by a
database administrator and or other information security professional.
Some of the ways database security is analyzed and implemented include:
Restricting unauthorized access and use by implementing strong and
multifactor access and data management controls.
Load/stress testing and capacity testing of a database to ensure it does
not crash in a distributed denial of service attack or user overload.
Physical security of the database server and backup equipment from
theft and natural disasters.
Concurrency
Concurrency can be defined as the ability for multiple processes to access or
change shared data at the same time.Database concurrency controls ensure
that transactions occur in an ordered fashion. The main job of these controls
is to protect transactions issued by different users/applications from the
effects of each other. Concurrency is impacted when a process that is
changing data prevents other processes from reading the data being
changed or when a process that is reading data prevents other processes
from changing that data. Concurrency is also impacted when multiples
processes are attempting to change the same data concurrently and they
cannot all succeed without sacrificing data consistency.
Once you think youre syncd then you need to perform verification to ensure
that you know where your starting point is.
Code Promotion
Refreshes are usually at the start a development cycle, which means that
you will probably run (test, prove, etc.) the next releases code base (scripts).
If you are dealing with QA, the Turn Center will actually do the turn via a TCW.
Code turns should ALWAYS be verified, regardless of who does them.
Database Use This is why the database exists utilization by an end-use
process. QA and Test have the same end-use processes; just the audience is
different. In Dev, the end-use process is the actual development and
database script creation.
Security
Data is of vital importance to an organization and may be confidential . Such
confidential must not be accessed by unauthorized persons. Different levels
of security could be implemented for various types of data and operations.
Conflict Resolution
A database chooses the best file structure and access method to get optimal
performance for the response
critical applications, while permitting less critical applications to continue to
use the database, albeit with a relatively slower response.
Data Independence
Data independence is usually considered from two points of view : physical
data independence and logical data independence..
Physical data independence allows changes in the physical storage devices
or organization of the files to be made without requiring changes in the
conceptual view or any of the external views and hence in the application
programs using the database.
Logical data independence implies that application programs need not be
changed if
Fields are added to an existing record ; nor do they have to be changed if
fields not used by applications programs are deleted. To address your
question, improvements in speed and performance of your LAN and WAN
depend on several factors, budget and technology. With the LAN, I am going
to recommend a few general guidelines and best practices on design to
ensure reliable performance. For the WAN, there are several factors to
consider that are more cost prohibitive. Decide what works best for your
enterprise and environment.
To address potential performance issues on the LAN, you want to identify and
isolate any bottlenecks due to technology. On LANs, you are able to achieve
better performance results with high speed, low cost technologies like
Ethernet. Ensure that all of your servers in the Citrix MetaFrame farm are
capable of at least 100Mbps at full duplex. Oftentimes, I recommend that the
switches be hard wired for this configuration (or higher if applicable) to
reduce any potential problems with auto negotiation. A good LAN design also
ensures that the right VLAN and Spanning Tree implementations are in place
to reduce multicast and broadcast congestion and bridging loops. If not
currently implemented, ensure that the servers are on a managed switch
that supports multiple VLAN configurations and Spanning Tree. By
implementing managed switches in the environment, the switches will be
able to assist you with control over the server ports and reduce collisions. In
summary, ensure that you have managed switches on the network that can
control VLANs and bridging loops. Also ensure the server switch ports are set
to the right speed and duplex settings. These are the two major rules to
follow when developing better performance on the LAN side of the
enterprise.
.
Disadvantages of DBMS
Cost of software/hardware and migration
A significant disadvantage of the DBMS system is cost . In
addition to the cost of purchasing or developing the software, the Hardware
has to be upgraded to allow for the extensive programs and work spaces
required for their execution and storage. The processing overhead introduced
by DBMS to implement security, integrity, and sharing of the data causes a
degradation of the response and through put times.
.
Problem associated with centralization
While centralization reduces duplication, the lack of duplication
requires that the database be adequately backed up so that in the case of
failure the data can be recovered .Centralization also means that the data is
accessible from a single source . This increases the potential severity of
security breaches and disruption of the operation of the organization
because of downtimes and failures.
Complexity of Backup and Recovery
3.
Analyze different approaches to database design such as top-down approach or bottomup approach.
There are two basic strategies to dealing with information processing and software design: the
top-down and the bottom up approaches. These two paradigms are often used at the start of
development to create domain models and plot the path of work to be done on a project. While
they are often used concurrently, there are specific drawbacks and benefits to each, and balancing
this is key to building a successful piece of software.
Top-Down
The top-down approach, also known as step-wise design, essentially breaks a system or model
down into component sub-systems, each of which may further broken down further. However, no
first-level system are defined you wont describe a for loop, or define the attributes of an object
in the top-down approach. Systems end up as a series of black boxes; components that have
specific inputs and outputs, but no definite internal structure.
Why Top-Down?
This approach lends itself to most projects, and doesnt require a specific kind of team or
breakdown
Due to definite inputs and outputs of each subsystem, combining them is simplified
It works very well for small projects, by laying out specific tasks to be done.
It is difficult to guarantee that the initial design adequately models the desired system
Bottom-Up
If you know what Legos are, you know what bottom-up design is. It consists of defining and
coding the very basic, definite parts of the system to be designed, then linking these parts
together to form the whole.
Why Bottom-Up?
Testing can be done early and often, as first-level systems are defined first
Without an overarching design, it can be difficult to define specific functionality for each
module
Example :These are two design approaches, which can be explained as:
You can imagine a tree like structure , in which when you
are following top-down appoarch you move from root node to
leaf node and when you follow bottom-up apprach you follow
leaf node to root node.
Top-down approach:
Analyse and write a requirement specification for your system applying the any fact
finding methods
Business analysis State the business rules, business system interfaces, business function,
business ownership, sponsorship and associated project budget requirement
Requirement analysis System I/O description, user requirement definition, functional and
security requirement
Data analysis Involve data collection process, datavalidation, data storage, manipulation
and retrieval
Process analysis Data/process flow analysis, process decomposition and system interfaces
Application architecture Analyze
application information structure,
usability, user interface design,
interaction and application implementation
Explain entity types and Key attributes and their types in a data model.
o List the Primary key and foreign key(s) for each entity.
entity types
Strong Entity: Entities having its own attribute as primary keys are called strong entity.
For example, STUDENT has STUDENT_ID as primary key. Hence it is a strong entity.
Weak Entity: Entities which cannot form their own attribute as primary key are known
weak entities. These entities will derive their primary keys from the combination of its
attribute and primary key from its mapping entity.
Consider CLASS and SECTION entity. The SECTION has SECTION _ID and NAME as its
attribute. But SECTION _ID alone cannot be a primary key, since it fails to tell for which course
it is related to. We will not be uniquely identifying the course section by this attribute alone. But
if this attribute along with CLASS_ID gives the meaning for each section and we can uniquely
identify the sections.
Composite Entity: Entities participating in the many to many relationships are called
composite entity. In this case, apart from two entities that are part of relation, we will one
more hidden entity in the relation. We will be creating a new entity with the relation, and
create a primary key by using the primary keys of other two entities.
Consider the example, multiple students enrolled for multiple courses. In this case, we
create STUDENT and COURSE. Then we create one more table for the relation
Enrolment and name it as STUD_COURSE. Add the primary keys of COURSE and
STUDENT into it, which forms the composite primary key of the new table.
Recursive Entity: If a relation exists between the same entities, then such entities are
called as recursive entity. For example, mapping between manager and employee is
recursive entity. Here manager is mapped to the same entity Employee. HOD of the
department is another example of having recursive entity.
Key attributes
Simple Attribute
These kinds of attributes have values which cannot be divided further. For example,
STUDENT_ID attribute which cannot be divided further. Passport Number is unique
value and it cannot be divided.
Composite Attribute
This kind of attribute can be divided further to more than one simple attribute. For
example, address of a person. Here address can be further divided as Door#, street, city,
state and pin which are simple attributes.
Derived Attribute
Derived attributes are the one whose value can be obtained from other attributes of
entities in the database. For example, Age of a person can be obtained from date of birth
and current date. Average salary, annual salary, total marks of a student etc are few
examples of derived attribute.
Stored Attribute
The attribute which gives the value to get the derived attribute are called Stored Attribute.
In example above, age is derived using Date of Birth. Hence Date of Birth is a stored
attribute.
Multi-Valued Attribute
These attribute can have more than one value at any point of time. Manager can have
more than one employee working for him, a person can have more than one email
address, and more than one house etc is the examples.
This is the combination of above four types of attributes. An attribute can have single
value at any point of time, which cannot be divided further. For example,
EMPLOYEE_ID it is single value as well as it cannot be divided further.
Descriptive Attribute
Attributes of the relationship is called descriptive attribute. For example, employee works
for department. Here works for is the relation between employee and department
entities. The relation works for can have attribute DATE_OF_JOIN which is a
descriptive attribute.
Primary key
A primary key is a column or group of columns that uniquely identify a row. Every table should
have a primary key. And a table cannot have more than one primary key. The PRIMARY
KEY characteristic can be specified as part of a column definition, as in the first column of the
Country table, or it can be specified as a separate clause of the CREATE TABLE statement, as in the
statement that creates the Job table. The primary key in the Job table is made up of three
columns: job_code, job_grade, and job_country. While a value can appear more than once in any
of these columns taken individually, the fact that they are collectively a primary key means that
the three values taken together cannot occur in more than one row.
Foreign key
A foreign key is a column or set of columns in one table whose values must have matching
values in the primary key of another (or the same) table. A foreign key is said to reference its
primary key. Foreign keys are a mechanism for maintaining data integrity. In the Job table, for
example, any country listed in the job_country column must also exist in the Country table. By
stating that the job_country column of the Job table is a foreign key that references the
country column of the Country table, you are guaranteeing this, because InterBase will return an
error if a value is entered the job_country column that does not have a matching entry in the
country column of the Country table.
Build a relational database system based on a prepared design using any using appropriate
RDBMS software, e.g. Microsoft SQL Server, Oracle etc. Make sure you follow all the
necessary steps in building the database. In building the relational database, you are expected
to include the following:
relations, fields
data types
referential constraints
views, indexes
stored procedures, triggers etc
Apply a range of database tools and techniques to enhance the user interface
Draw a Context Diagram and a high Level Data Flow Diagram to depict the given system.
The aim of the presentation is to give information about the tools and
techniques used by two organisations in the use of databases and storing
data.
What is a database?
T1
T1
T2
Balx
Begintransaction
90
T2
Begin-transaction
Read (balx)
90
T3
Read (balx)
Balx=balx+50
90
T4
Balx=balx-20
Write(balx)
140
T5
Write(balx)
commit
70
T6
ommit
70
Time
T1
T1
T2
blax
Begin-transaction
200
T2
Begin-tansaction
Write-lock(balx)
200
T3
Write-lock(balx)
read(balx)
200
T4
WAIT
Balx=balx+100
200
T5
WAIT
Write(balx)
300
T6
WAIT
Commit/unlock(balx)
300
T7
Read(balx)
300
T8
Balx=balx-50
300
T9
Write(balx)
250
T10
Commit/unlock(balx)
250
Time
T3
T4
balx
T1
Begin-transaction
150
T2
Read(balx)
150
T3
Balx=blax+30
150
180
150
T4
Begin-transaction
T5
Read(balx)
Write(balx)
.
.
T6
Blax=balx-20
rollback
180
T7
Write(balx)
160
T8
commit
160
Time
T3
T4
balx
T1
Begin-transaction
100
T2
Write-lock(balx)
100
T3
Read(balx)
100
T4
Begin-transaction
Balx=balx=100
100
T5
Write-lock(balx)
Write(balx)
200
T6
WAIT
Rollback/unlock(balx)
100
T7
Read(balx)
100
T8
Balx=balx-10
100
T9
Write(balx)
90
T10
Commit/unlockbalx)
90
T5
T1
T6
blax
baly
balz
sum
50
Begin-transaction
200
60
Sum=0
200
60
50
Begin-transaction
T2
T3
Read(balx)
Read(balx)
200
60
50
T4
Balx=balx-20
Sum=sum+balx
200
60
50
200
T5
Write(balx)
Read(baly)
180
60
50
200
T6
Read(balz)
Sum=sum+baly
180
60
50
160
T7
Balz=balz+10
180
60
50
160
T8
Write(balz)
180
60
50
160
T9
commit
Read(balz)
180
60
65
160
T10
Sum=sum+balz
180
60
65
225
T11
commit
180
60
65
225
T5
T1
T6
bal
x
baly
bal
z
sum
Begin-transaction
10
0
100
50
Sum=0
10
0
100
50
10
0
100
50
T2
Begin-transaction
T3
Write-lock(balx)
T4
Read(balx)
Read-lock(balx)
10
0
100
50
T5
Balx=balx-15
WAIT
10
0
100
50
T6
Write(balx)
WAIT
85
100
50
T7
Write-lock(balz)
WAIT
85
100
50
T8
Read(balz)
WAIT
85
100
50
T9
Balz=balz+10
WAIT
85
100
50
T10
Write (balz)
WAIT
85
100
65
T11
Commit/unock(balx,baly,bal
z)
WAIT
85
100
65
Read(balx)
85
100
65
T12
T13
Sum=sum+balx
85
100
65
85
T14
Read-lock(baly)
85
100
65
85
T15
Read(baly)
85
100
65
85
T16
Sum=sum+baly
85
100
65
185
T17
Read-lock (balz)
85
100
65
185
T18
Read(balz)
85
100
65
185
T19
T20
Sum=sum+balz
85
100
65
250
Commit/unlock(balx,baly,b
alz)
85
10
0
65
DATA TYPE
varchar(30)
varchar(30)
varchar(30)
CONSTRAINT
Primary key
Not null
Not null
DESCRIPTION
25
0
FIELD NAME
BusID
BusNAME
BusType
DATA TYPE
varchar(30)
varchar(30)
varchar(30)
CONSTRAINT
Primary key
Not null
Not null
DESCRIPTION
CONSTRAINT
Primary key
Foreign key
Not null
Not null
Not null
DESCRIPTION
DATA TYPE
varchar(30)
varchar(30)
varchar(30)
varchar(30)
varchar(30)
CONSTRAINT
Primary key
Not null
Not null
Not null
Not null
DESCRIPTION
DATA TYPE
varchar(30)
varchar(30)
CONSTRAINT
Primary key
Foreign key
DESCRIPTION
FIELD NAME
BSID
BusID
Source
Destination
Totalseats
DATA TYPE
varchar(30)
varchar(30)
varchar(30)
varchar(30)
varchar(30)
Table Name:Ticket
FIELD NAME
TID
PID
PNAME
Price
DepTime
SeatNo
varchar(30)
int
datetime
int
Not
Not
Not
Not
null
null
null
null