Database Management Systems (DBMS) : 1.1. What Is A Database?
Database Management Systems (DBMS) : 1.1. What Is A Database?
Database Management Systems (DBMS) : 1.1. What Is A Database?
access to any individual item. Other methods are obviously under development, notably optical
storage - CD Rom - which as yet does not give enough scope for updating in most database
applications.
Database handling techniques grew out of earlier and simpler file processing techniques. A file
consists of an ordered collection of records; a database consists of two or more related files which we
may wish to process together in various different ways. It will store not only the individual records
containing the numbers or words needed for some application, but auxiliary information which will
allow those records to be accessed more quickly, or which will link related records or data items
together. A database designer may be required to choose how much and what sort of auxiliary
information to store, using his knowledge of how the database will be used.
Computer storage and processing implies the use of software: in the current context a DATABASE
MANAGEMENT SYSTEM (DBMS). The function of the DBMS is to store and retrieve information
as required by applications programs or users sitting at terminals, using the facilities provided by the
computer operating system. It is one of a number of software layers making computer facilities
available to users with perhaps comparatively little technical expertise.
1.2. Summary of DBMS functions.
1.2.1. Data definition.
This includes describing:
FILES
RECORD STRUCTURES
FIELD NAMES, TYPES and SIZES
RELATIONSHIPS between records of different types
Extra information to make searching efficient, e.g. INDEXES.
In an interactive data entry system, errors should be detected immediately - some can be prevented
altogether by keyboard monitoring - and recovery and re-entry permitted.
1.2.3. Updating.
Updating involves:
Record INSERTION
Record MODIFICATION
Record DELETION.
At the same time any back-ground data such as indexes or pointers from one record to another must
be changed to maintain consistency. Updating may take place interactively, or by submission of a file
of transaction records; handling these may require a program of some kind to be written, either in a
conventional programming language (a host language, e.g. COBOL or C) or in a language supplied
by the DBMS for constructing command files.
1.2.4. Data retrieval on the basis of selection criteria.
For this purpose most systems provide a QUERY LANGUAGE with which the characteristics of the
required records may be specified. Query languages differ enormously in power and sophistication
but a standard which is becoming increasingly common is based on the so-called RELATIONAL
over particular CONTROL FIELDS. Also specification of PAGE and LINE LAYOUT, HEADINGS,
PAGE-NUMBERING, and other narrative to make the report comprehensible.
1.2.6. Security.
This has several aspects:
Ensuring that only those authorised to do so can see and modify the data, generally by some
extension of the password principle.
Ensuring the consistency of the database where many users are accessing and up-dating it
simultaneously.
Ensuring the existence and INTEGRITY of the database after hardware or software failure. At the
very least this involves making provision for back-up and re-loading.
1.4.1. ANALYSIS 1.4.2. DESIGN 1.4.3. DEVELOPMENT 1.4.4. IMPLEMENTATION 1.4.5. MAINTENANCE
In practice these phases are not always sharply distinguished; for small projects it may not be
necessary to go formally through every one. The move from one phase to the next is essentially a
move from the general to the specific. At each stage, particularly where a DBMS is involved, we shall
be concerned both with information and with processes to be performed using that information.
1.4.1. Analysis
The outputs from this stage should be:
describing the information which is used within the organisation but
not in computer-related terms. This level of data analysis will be considered in more detail later. One
of the problems with any systems design in a large organisation is that it must proceed in a piecemeal
manner - it is impossible to create a totally new GLOBAL system in one fell swoop, and each subsystem must dovetail with others which may be at quite a different stage of development. The
conceptual data model provides a context within which more detailed design specifications can be
produced, and should help in maintaining consistency from one application area to another.
A CONCEPTUAL DATA MODEL
A CONCEPTUAL PROCESS MODEL describing the functions of the organisation in terms of events (e.g. a
purchase, a payment, a booking) and the processes which must be performed within the organisation to handle
them. This may lead to a more detailed functional specification - describing the organisational requirements which
must be satisfied, but not how they are to be achieved.
1.4.2. Design
describing in some detail what the proposed system should do. This will
now refer to COMPUTER PROCESSES, but probably in terms of INPUT and OUTPUT
MESSAGES rather than internal logic, describing, for instance, the effect of selecting an item from a
menu, or any option within a command driven system. Program modules are defined in terms of the
screen displays and/or reports which they generate. Note that the data referred to here has a temporary
existence, in contrast with what is stored in the database itself.
A SYSTEM SPECIFICATION,
1.4.3. Development.
Specification of the database itself must now come down another level, to decisions about
PHYSICAL DATA STORAGE in particular files on particular devices. For this a knowledge of the
computer operating system, as well as the DBMS, is required. Conventional program development coding, testing, debugging etc. may also be done. If a totally packaged system has been purchased
this may not be necessary - it will simply be a matter of discovering how to use the command and
query language already supplied to store and retrieve data, generate reports and other outputs. Even
here an element of testing and debugging may be involved, since it is unlikely that the new user of a
system will get it exactly right the first time. It is certainly inadvisable for this sort of experimentation
to take place using a live database!
1.4.4. Implementation.
This puts the work of the previous three phases into everyday use. It involves such things as loading
the database with live rather than test data, staff training, probably the introduction of new working
practices. It is not unusual to have an old and a new system running side by side for a while so that
some back-up is available if the new system fails unexpectedly.
1.4.5. Maintenance.
Systems once implemented generally require further work done on them as time goes by, either to
correct original design faults or to accommodate changes in user requirements or operating
constraints. One of the objectives of using a DBMS is to reduce the impact of such changes - for
example the data can be physically re-arranged without affecting the logic of the programs which use
it. Some DBMSs provide utility programs to re-organise the data when either its physical or logical
design must be altered.
------------------------------------------------------------------------------------------------------------------------
mathematics called set theory although there are widely used synonyms for these precise,
mathematical terms.
Data structures are composed of two components which represent a model of the situation
being considered. These are (i) ENTITY TYPES - i.e. data group types, and (ii) the
RELATIONSHIPS between the entity types.
Entity types are represented by RELATIONS or BASE TABLES. These two terms are
interchangeable - a RELATION is the mathematical term for a TABLE.
A base table is loosely defined as an un-ordered collection of zero, one or more TUPLES
(ROWS) each of which consists of one or more un-ordered ATTRIBUTES (COLUMNS). All
tuples are made up of exactly the same set of attributes.
For the remainder of this discussion we shall use the more widely known terminology:
TABLE for RELATION
ROW for TUPLE
COLUMN for ATTRIBUTE
Each column is drawn from a DOMAIN, that is, a set of values from which the actual values
are taken (e.g. a set of car model names). More than one column in a table may draw its values
from the same domain.
A column entry in any row is SINGLE-VALUED, i.e. it contains exactly one item only (e.g. a
surname). Repeating groups, i.e. columns which contain sets of values rather than a single
value, not allowed.
Each row of a table is uniquely identified by a PRIMARY KEY composed of one or more
columns. This implies that a table may not contain duplicate rows.
Note that, in general, a column, or group of columns, that uniquely identifies a row in a table is
called a CANDIDATE KEY. There may be more than one candidate key for a particular table;
one of these will be chosen as the primary key.
The ENTITY INTEGRITY RULE of the model states that no component of the primary key
may contain a NULL value.
A column, or combination of columns, that matches the primary key of another table is called a
FOREIGN KEY.
The REFERENTIAL INTEGRITY RULE of the model states that, for every foreign key value
in a table there must be a corresponding primary key value in another table in the database.
Only two kinds of table may be defined in a SQL schema; BASE TABLES and VIEWS. These
are called NAMED RELATIONS. Other tables, UNNAMED RELATIONS, may be derived
from these by means of relational operations such as JOINS and PROJECTIONS.
All tables are LOGICAL ENTITIES. Of these only base tables physically exist in that there
exist physically stored records, and possible physical access paths such as indexes, in one or
more stored files, that directly support the table in physical storage. Although standard
techniques such as HASHING, INDEXING, etc. will be used for implementation efficiency,
the user of the data base should require no knowledge of previously defined access paths.
Views and the results of all operations on tables - unnamed relations - are tables that exist as
LOGICAL DEFINITIONS, in terms of a view definition, or a [SELECT .. FROM .. WHERE ..
ORDER BY] sequence.
The term UPDATE has two meanings:
as a SQL operation in its own right which causes one or more columns in a table to be altered;
in this context it will always be shown in upper-case letters - UPDATE.
as a generic term used to include the SQL operations INSERT, DELETE and UPDATE; in this
context it will always be shown in lower-case letters.
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:
1. A modeling 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 relational model, since it violates several of its fundamental
principles for the sake of practicality and performance. Many DBMSs also support the Open Database
Connectivity API that supports a standard way for programmers to access the DBMS.
2. 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).
3. 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 subschemas. 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 databases. 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.
4. 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).
function.
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
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.....
Meta-data repository
Metadata (also spelled meta-data) is information about information. For example, a listing that describes
what attributes are allowed to be in data sets is called "meta-information".
History
Databases have been in use since the earliest days of electronic computing. Unlike modern systems
which can be applied to widely different databases and needs, the vast majority of older systems were
tightly linked to the custom databases in order to gain speed at the expense of flexibility. Originally
DBMSs were found only in large organizations with the computer hardware needed to support large data
sets.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is a Database?
A database management system, or DBMS, gives the user access to their data and helps them transform
the data into information. Such database management systems include dBase, Paradox, IMS, and Oracle.
These systems allow users to create, update, and extract information from their databases. Compared to a
manual filing system, the biggest advantages to a computerized database system are speed, accuracy, and
accessibility.
A database is a structured collection of data. Data refers to the characteristics of people, things, and
events. Oracle stores each data item in its own field. For example, a person's first name, date of birth, and
their postal code are each stored in separate fields. The name of a field usually reflects its contents. A
postal code field might be named POSTAL-CODE or PSTL_CD. Each DBMS has its own rules for
naming
the
data
fields.
-----------------------------------------------------------------------------------------------------------------------
relational database
allow up to ten possible customer names but be constrained in one table to allowing only three of these
customer names to be specifiable. The definition of a relational database results in a table of metadata or
formal descriptions of the tables, columns, domains, and constraints.
Hierarchical Model
The hierarchical data model organizes data in a tree structure. There is a hierarchy of parent and child data
segments. This structure implies that a record can have repeating information, generally in the child data
segments. Data in a series of records, which have a set of field values attached to it. It collects all the instances
of a specific record together as a record type. These record types are the equivalent of tables in the relational
model, and with the individual records being the equivalent of rows. To create links between these record types,
the hierarchical model uses Parent Child Relationships. These are a 1:N mapping between record types. This is
done by using trees, like set theory used in the relational model, "borrowed" from maths. For example, an
organization might store information about an employee, such as name, employee number, department, salary.
The organization might also store information about an employee's children, such as name and date of birth. The
employee and children data forms a hierarchy, where the employee data represents the parent segment and the
children data represents the child segment. If an employee has three children, then there would be three child
segments associated with one employee segment. In a hierarchical database the parent-child relationship is one
to many. This restricts a child segment to having only one parent segment. Hierarchical DBMSs were popular
from the late 1960s, with the introduction of IBM's Information Management System (IMS) DBMS, through the
1970s.
Network Model
The popularity of the network data model coincided with the popularity of the hierarchical data model. Some
data were more naturally modeled with more than one parent per child. So, the network model permitted the
modeling of many-to-many relationships in data. In 1971, the Conference on Data Systems Languages
(CODASYL) formally defined the network model. The basic data modeling construct in the network model is
the set construct. A set consists of an owner record type, a set name, and a member record type. A member
record type can have that role in more than one set, hence the multiparent concept is supported. An owner
record type can also be a member or owner in another set. The data model is a simple network, and link and
intersection record types (called junction records by IDMS) may exist, as well as sets between them . Thus, the
complete network of relationships is represented by several pairwise sets; in each set some (one) record type is
owner (at the tail of the network arrow) and one or more record types are members (at the head of the
relationship arrow). Usually, a set defines a 1:M relationship, although 1:1 is permitted. The CODASYL
network model is based on mathematical set theory.
Relational Model
(RDBMS - relational database management system) A database based on the relational model developed by E.F.
Codd. A relational database allows the definition of data structures, storage and retrieval operations and integrity
constraints. In such a database the data and relations between them are organised in tables. A table is a
collection of records and each record in a table contains the same fields.
Properties of Relational Tables:
Values Are Atomic
Each Row is Unique
Column Values Are of the Same Kind
The Sequence of Columns is Insignificant
The Sequence of Rows is Insignificant
Each Column Has a Unique Name
Certain fields may be designated as keys, which means that searches for specific values of that field will use
indexing to speed them up. Where fields in two different tables take values from the same set, a join operation
can be performed to select related records in the two tables by matching values in those fields. Often, but not
always, the fields will have the same name in both tables. For example, an "orders" table might contain
(customer-ID, product-code) pairs and a "products" table might contain (product-code, price) pairs so to
calculate a given customer's bill you would sum the prices of all products ordered by that customer by joining
on the product-code fields of the two tables. This can be extended to joining multiple tables on multiple fields.
Because these relationships are only specified at retreival time, relational databases are classed as dynamic
database management system. The RELATIONAL database model is based on the Relational Algebra.
Object/Relational Model
Object/relational database management systems (ORDBMSs) add new object storage capabilities to the
relational systems at the core of modern information systems. These new facilities integrate management of
traditional fielded data, complex objects such as time-series and geospatial data and diverse binary media such
as audio, video, images, and applets. By encapsulating methods with data structures, an ORDBMS server can
execute comple x analytical and data manipulation operations to search and transform multimedia and other
complex objects.
As an evolutionary technology, the object/relational (OR) approach has inherited the robust transaction- and
performance-management features of it s relational ancestor and the flexibility of its object-oriented cousin.
Database designers can work with familiar tabular structures and data definition languages (DDLs) while
assimilating new object-management possibi lities. Query and procedural languages and call interfaces in
ORDBMSs are familiar: SQL3, vendor procedural languages, and ODBC, JDBC, and proprie tary call
interfaces are all extensions of RDBMS languages and interfaces. And the leading vendors are, of course, quite
well known: IBM, Inform ix, and Oracle.
Object-Oriented Model
Object DBMSs add database functionality to object programming languages. They bring much more than
persistent storage of programming language objects. Object DBMSs extend the semantics of the C++, Smalltalk
and Java object programming languages to provide full-featured database programming capability, while
retaining native language compatibility. A major benefit of this approach is the unification of the application and
database development into a seamless data model and language environment. As a result, applications require
less code, use more natural data modeling, and code bases are easier to maintain. Object developers can write
complete database applications with a modest amount of additional effort.
According to Rao (1994), "The object-oriented database (OODB) paradigm is the combination of objectoriented programming language (OOPL) systems and persistent systems. The power of the OODB comes from
the seamless treatment of both persistent data, as found in databases, and transient data, as found in executing
programs."
In contrast to a relational DBMS where a complex data structure must be flattened out to fit into tables or joined
together from those tables to form the in-memory structure, object DBMSs have no performance overhead to
store or retrieve a web or hierarchy of interrelated objects. This one-to-one mapping of object programming
language objects to database objects has two benefits over other storage approaches: it provides higher
performance management of objects, and it enables better management of the complex interrelationships
between objects. This makes object DBMSs better suited to support applications such as financial portfolio risk
analysis systems, telecommunications service applications, world wide web document structures, design and
manufacturing systems, and hospital patient record systems, which have complex relationships between data.
Semistructured Model
In semistructured data model, the information that is normally associated with a schema is contained within the
data, which is sometimes called ``self-describing''. In such database there is no clear separation between the data
and the schema, and the degree to which it is structured depends on the application. In some forms of
semistructured data there is no separate schema, in others it exists but only places loose constraints on the data.
Semi-structured data is naturally modelled in terms of graphs which contain labels which give semantics to its
underlying structure. Such databases subsume the modelling power of recent extensions of flat relational
databases, to nested databases which allow the nesting (or encapsulation) of entities, and to object databases
which, in addition, allow cyclic references between objects.
Semistructured data has recently emerged as an important topic of study for a variety of reasons. First, there are
data sources such as the Web, which we would like to treat as databases but which cannot be constrained by a
schema. Second, it may be desirable to have an extremely flexible format for data exchange between disparate
databases. Third, even when dealing with structured data, it may be helpful to view it as semistructured for the
purposes of browsing.
Associative Model
The associative model divides the real-world things about which data is to be recorded into two sorts:
Entities are things that have discrete, independent existence. An entitys existence does not depend on any other
thing. Associations are things whose existence depends on one or more other things, such that if any of those
things ceases to exist, then the thing itself ceases to exist or becomes meaningless.
An associative database comprises two data structures:
1. A set of items, each of which has a unique identifier, a name and a type.
2. A set of links, each of which has a unique identifier, together with the unique identifiers of three other things,
that represent the source source, verb and target of a fact that is recorded about the source in the database. Each
of the three things identified by the source, verb and target may be either a link or an item.
For more information see: The Associative Model of Data
Context Model
The context data model combines features of all the above models. It can be considered as a collection of
object-oriented, network and semistructured models or as some kind of object database. In other words this is a
flexible model, you can use any type of database structure depending on task. Such data model has been
implemented in DBMS ConteXt.
The fundamental unit of information storage of ConteXt is a CLASS. Class contains METHODS and describes
OBJECT. The Object contains FIELDS and PROPERTY. The field may be composite, in this case the field
contains SubFields etc. The property is a set of fields that belongs to particular Object. (similar to AVL
database). In other words, fields are permanent part of Object but Property is its variable part.
The header of Class contains the definition of the internal structure of the Object, which includes the description
of each field, such as their type, length, attributes and name. Context data model has a set of predefined types as
well as user defined types. The predefined types include not only character strings, texts and digits but also
Database
A computer database is a structured collection of records or data that is stored in a computer
system so that a computer program or person using a query language can consult it to answer
queries. The records retrieved in answer to queries are information that can be used to make
decisions. The computer program used to manage and query a database is known as a database
management system (DBMS). The properties and design of database systems are included in the
study of information science.
A typical query could be to answer questions such as, "How many hamburgers with two or more
beef patties were sold in the month of March in New Jersey?". To answer such a question, the
database would have to store information about hamburgers sold, including number of patties, sales
date, and the region The term "database" originated within the computing discipline. Although its
meaning has been broadened by popular use, even to include non-electronic databases, this article is
about computer databases. Database-like collections of information existed well before the
Industrial Revolution in the form of ledgers, sales receipts and other business-related collections of
data.
The central concept of a database is that of a collection of records, or pieces of information.
Typically, for a given database, there is a structural description of the type of facts held in that
database: this description is known as a schema. The schema describes the objects that are
represented in the database, and the relationships among them. There are a number of different
ways of organizing a schema, that is, of modelling the database structure: these are known as
database models (or data models). The model in most common use today is the relational model,
which in layman's terms represents all information in the form of multiple related tables each
consisting of rows and columns (the true definition uses mathematical terminology). This model
represents relationships by the use of values common to more than one table. Other models such as
the hierarchical model and the network model use a more explicit representation of relationships.
The term database refers to the collection of related records, and the software should be referred to
as the database management system or DBMS. When the context is unambiguous, however, many
database administrators and programmers use the term database to cover both meanings.
Many professionals consider a collection of data to constitute a database only if it has certain
properties: for example, if the data is managed to ensure its integrity and quality, if it allows shared
access by a community of users, if it has a schema, or if it supports a query language. However,
there is no definition of these properties that is universally agreed upon.
Database management systems are usually categorized according to the data model that they
support: relational, object-relational, network, and so on. The data model will tend to determine the
query languages that are available to access the database. A great deal of the internal engineering of
a DBMS, however, is independent of the data model, and is concerned with managing factors such
as performance, concurrency, integrity, and recovery from hardware failures. In these areas there
are large differences between products.
Database models
Various techniques are used to model data structure.
Most database systems are built around one particular data model, although it is increasingly
common for products to offer support for more than one model. For any one logical model various
physical implementations may be possible, and most products will offer the user some level of
control in tuning the physical implementation, since the choices that are made have a significant
effect on performance. An example is the relational model: all serious implementations of the
relational model allow the creation of indexes which provide fast access to rows in a table if the
values of certain columns are known.
Flat model
The flat (or table) model consists of a single, two-dimensional array of data elements, where all
members of a given column are assumed to be similar values, and all members of a row are
assumed to be related to one another.
Hierarchical model
In a hierarchical model, data is organized into a tree-like structure, implying a single upward link in
each record to describe the nesting, and a sort field to keep the records in a particular order in each
same-level list.
Network model
The network model tends to store records with links to other records. Associations are tracked via
"pointers". These pointers can be node numbers or disk addresses. Most network databases tend to
also include some form of hierarchical model.
Relational model
Three key terms are used extensively in relational database models: relations, attributes, and
domains. A relation is a table with columns and rows. The named columns of the relation are called
attributes, and the domain is the set of values the attributes are allowed to take.
The basic data structure of the relational model is the table, where information about a particular
entity (say, an employee) is represented in columns and rows (also called tuples). Thus, the
"relation" in "relational database" refers to the various tables in the database; a relation is a set of
tuples. The columns enumerate the various attributes of the entity (the employee's name, address or
phone number, for example), and a row is an actual instance of the entity (a specific employee) that
is represented by the relation. As a result, each tuple of the employee table represents various
attributes of a single employee.
All relations (and, thus, tables) in a relational database have to adhere to some basic rules to qualify
as relations. First, the ordering of columns is immaterial in a table. Second, there can't be identical
tuples or rows in a table. And third, each tuple will contain a single value for each of its attributes.
A relational database contains multiple tables, each similar to the one in the "flat" database model.
One of the strengths of the relational model is that, in principle, any value occurring in two
different records (belonging to the same table or to different tables), implies a relationship among
those two records. Yet, in order to enforce explicit integrity constraints, relationships between
records in tables can also be defined explicitly, by identifying or non-identifying parent-child
relationships characterized by assigning cardinality (1:1, (0)1:M, M:M). Tables can also have a
designated single attribute or a set of attributes that can act as a "key", which can be used to
uniquely identify each tuple in the table.
A key that can be used to uniquely identify a row in a table is called a primary key. Keys are
commonly used to join or combine data from two or more tables. For example, an Employee table
may contain a column named Location which contains a value that matches the key of a Location
table. Keys are also critical in the creation of indices, which facilitate fast retrieval of data from
large tables. Any column can be a key, or multiple columns can be grouped together into a
compound key. It is not necessary to define all the keys in advance; a column can be used as a key
even if it was not originally intended to be one.
Relational operations
Users (or programs) request data from a relational database by sending it a query that is written in a
special language, usually a dialect of SQL. Although SQL was originally intended for end-users, it
is much more common for SQL queries to be embedded into software that provides an easier user
interface. Many web sites, such as Wikipedia, perform SQL queries when generating pages.
In response to a query, the database returns a result set, which is just a list of rows containing the
answers. The simplest query is just to return all the rows from a table, but more often, the rows are
filtered in some way to return just the answer wanted. Often, data from multiple tables are
combined into one, by doing a join. There are a number of relational operations in addition to join.
Normal forms
Main article: Database normalization
Relations are classified based upon the types of anomalies to which they're vulnerable. A database
that's in the first normal form is vulnerable to all types of anomalies, while a database that's in the
domain/key normal form has no modification anomalies. Normal forms are hierarchical in nature.
That is, the lowest level is the first normal form, and the database cannot meet the requirements for
higher level normal forms without first having met all the requirements of the lesser normal form.
Object database models
In recent years, the object-oriented paradigm has been applied to database technology, creating a
new programming model known as object databases. These databases attempt to bring the database
world and the application programming world closer together, in particular by ensuring that the
database uses the same type system as the application program. This aims to avoid the overhead
as a generic term used to include the SQL operations INSERT, DELETE and
UPDATE; in this context it will always be shown in lower-case letters.
Network Topologies
topology Lesson #3 - Click on it
--------------------------------------------------------------------------------------------------------------------------------------------------------------=============================================================================
============
Topology refers to the shape of a network, or the network's layout. How different nodes in a network are
connected to each other and how they communicate are determined by the network's topology.
Topologies are either physical or logical. Below are diagrams of the five most common network topologies.
Physical Topology when in the context of networking refers to the physical layout of
the devices connected to the network, including the location and cable installation.
Logical Topology refers to the way it actually operates (transfers data) as opposed
to
its
layout.
Network topologies are categorized into the following basic types:
Star Topology
Ring Topology
Bus Topology
Tree Topology
Mesh Topology
Hybrid Topology
More complex networks can be built as hybrids of two or more of the above basic
topologies.
interconnections
In a true mesh
a connection to
the network.
---------------------------------------------------------------------------------------------------------------------------------------------
Bus Topology
Bus topology uses a common backbone to connect all the network devices in a network in a linear shape. A single cable functions
as the shared communication medium for all the devices attached with this cable with an interface connector. The device, which
wants to communicate send the broadcast message to all the devices attached with the shared cable but only the intended recipient
actually accepts and process that message.
Bus network works with very limited devices. Performance issues are likely to occur in the Bus topology if more than 12-15
computers are added in a Bus Network. Additionally, if the Backbone cable fails then all network becomes useless and no
communication fails among all the computers.
Ring Topology
In ring Network, every computer or devices has two adjacent neighbors for communication. In a ring network, all the
communication messages travel in the same directory whether clockwise or anti clockwise. Any damage of the cable of any cable
or device can result in the breakdown of the whole network. Ring topology now has become almost obsolete.
FDDI, SONET or Token Ring Technology can be used to implement Ring Technology. Ring topologies can be found in office,
school or small buildings.
Star Topology
In the computer networking world the most commonly used topology in LAN is the star topology. Star topologies can be
implemented in home, offices or even in a building. All the computers in the star topologies are connected to central devices like
hub, switch or router. The functionality of all these devices is different.
Computers in a network are usually connected with the hub, switch or router with the Unshielded Twisted Pair (UTP) or Shielded
Twisted Pair Cables.
As compared to the bus topology, a star network requires more devices & cables to complete anetwork. The failure of each node
or cable in a star network, wont take down the entire network
However if the central connecting devices such as hub, switch or router fails due to any reason,then ultimately all the network can
come down or collapse.
Tree Topology
Tree topologies are comprised of the multiple star topologies on a bus. Tree topologies integrate multiple star topologies together
onto a bus. Only the hub devices can connect directly with the tree bus and each Hub functions as a root of a tree of the network
devices. This bus/star/hybrid combination supports future expandability of the computer networks, much better than a bus or star.
Mesh Topology
Mesh topology work on the concept of routes. In Mesh topology, message sent to the destination can take any possible shortest,
easiest route to reach its destination. In the previous topologies star and bus, messages are usually broadcasted to every computer,
especially in bus topology. Similarly in the Ring topology message can travel in only one direction i.e clockwise or anticlockwise.
Internet employs the Mesh topology and the message finds its route for its destination. Router works in find the routes for the
messages and in reaching them to their destinations.The topology in which every devices connects to every other device is called a
full Mesh topology unlike in the partial mesh in which every device is indirectly connected to the other devices.
----------------------------------------------------------------------------------------------------------
a home LAN may be arranged in a circle in a family room, but it would be highly unlikely to find an
actual ring topology there.
Network topologies are categorized into the following basic types:
Star Topology
Ring Topology
Bus Topology
Tree Topology
Mesh Topology
Hybrid Topology
More complex networks can be built as hybrids of two or more of the above basic topologies.
Star Topology
Many home networks use the star topology. A star network features a central connection point called a
"hub" that may be a hub, switch or router. Devices typically connect to the hub with Unshielded Twisted
Pair (UTP) Ethernet.
Compared to the bus topology, a star network generally requires more cable, but a failure in any star
network cable will only take down one computer's network access and not the entire LAN. (If the hub
fails, however, the entire network also fails.)
See the illustration of Star Network Topology.
The protocols used with star configurations are usually Ethernet or LocalTalk. Token Ring uses a similar topol
the star-wired ring.
Star-Wired Ring
A star-wired ring topology may appear (externally) to be the same as a star topology. Internally, the MAU of a
ring contains wiring that allows information to pass from one device to another in a circle or ring (See fig. 3).
Ring protocol uses a star-wired ring topology.
Ring Topology
In a ring network, every device has exactly two neighbors for communication purposes. All messages travel
ring in the same direction (either "clockwise" or "counterclockwise"). A failure in any cable or device breaks th
can take down the entire network.
To implement a ring network, one typically uses FDDI, SONET, or Token Ring technology. Ring topologies ar
some office buildings or school campuses.
See the illustration of Ring Topology.
Bus Topology
Bus networks (not to be confused with the system bus of a computer) use a common backbone to
connect all devices. A single cable, the backbone functions as a shared communication medium that
devices attach or tap into with an interface connector. A device wanting to communicate with another
device on the network sends a broadcast message onto the wire that all other devices see, but only the
intended recipient actually accepts and processes the message.
Ethernet bus topologies are relatively easy to install and don't require much cabling compared to the
alternatives. 10Base-2 ("ThinNet") and 10Base-5 ("ThickNet") both were popular Ethernet cabling
options many years ago for bus topologies. However, bus networks work best with a limited number of
devices. If more than a few dozen computers are added to a network bus, performance problems will
likely result. In addition, if the backbone cable fails, the entire network effectively becomes unusable.
See the illustration of Bus Network Topology.
Tree Topology
Tree topologies integrate multiple star topologies together onto a bus. In its simplest form, only hub
devices connect directly to the tree bus, and each hub functions as the "root" of a tree of devices. This
bus/star hybrid approach supports future expandability of the network much better than a bus (limited
in the number of devices due to the broadcast traffic it generates) or a star (limited by the number of
hub connection points) alone.
See the illustration of Tree Network Topology.
Mesh Topology
Mesh topologies involve the concept of routes. Unlike each of the previous topologies, messages sent on a mesh network can take
any of several possible paths from source to destination. (Recall that even in a ring, although two cable paths exist, messages can
only travel in one direction.) Some WANs, most notably the Internet, employ mesh routing.
A mesh network in which every device connects to every other is called a full mesh. As shown in the
illustration below, partial mesh networks also exist in which some devices connect only indirectly to
others.
See the illustration of Mesh Network Topology.
Hybrid Topology
A combination of any two or more network topologies. Note 1: Instances can occur where two basic
network topologies, when connected together, can still retain the basic network character, and
therefore not be a hybrid network. For example, a tree network connected to a tree network is still a
tree network. Therefore, a hybrid network accrues only when two basic networks are connected and
the resulting network topology fails to meet one of the basic topology definitions. For example, two
star networks connected together exhibit hybrid network topologies. Note 2: A hybrid topology always
accrues when two different basic network topologies are connected.
5-4-3 Rule
A consideration in setting up a tree topology using Ethernet protocol is the 5-4-3 rule. One aspect of
the Ethernet protocol requires that a signal sent out on the network cable reach every part of the
network within a specified length of time. Each concentrator or repeater that a signal goes through
adds a small amount of time. This leads to the rule that between any two nodes on the network there
can only be a maximum of 5 segments, connected through 4 repeaters/concentrators. In addition, only
3 of the segments may be populated (trunk) segments if they are made of coaxial cable. A populated
segment is one which has one or more nodes attached to it . In Figure 4, the 5-4-3 rule is adhered to.
The furthest two nodes on the network have 4 segments and 3 repeaters/concentrators between them.
This rule does not apply to other network protocols or Ethernet networks where all fiber optic cabling or
a combination of a fiber backbone with UTP cabling is used. If there is a combination of fiber optic
backbone and UTP cabling, the rule is simply translated to 7-6-5 rule.
------------------------------------------------------------------------------------------------------------------------------------------------------------
L A N Protocol
Introduction
http://www.inetdaemon.com/tutorials/lan/define_network.shtml
What Is a LAN?
A LAN is a high-speed data network that covers a relatively small geographic area. It typically connects workstations,
personal computers, printers, servers, and other devices. LANs offer computer users many advantages, including shared
access to devices and applications, file exchange between connected users, and communication between users via electronic
mail and other applications.
LAN Topologies
LAN topologies define the manner in which network devices are organized. Four common LAN topologies exist: bus, ring,
star, and tree. These topologies are logical architectures, but the actual devices need not be physically organized in these
configurations. Logical bus and ring topologies, for example, are commonly organized physically as a star.
Of the three, most widely used LAN implementations, Ethernet/IEEE 802.3 networksincluding 100BaseTimplement a
bus topology.
A bus topology is a linear LAN architecture in which transmissions from network stations propagate the length of the
medium and are received by all other stations.
A ring topology is a LAN architecture that consists of a series of devices connected to one another by unidirectional
transmission links to form a single closed loop. Both Token Ring/IEEE 802.5 and FDDI networks implement a ring topology.
Figure 2-4 depicts a logical ring topology.
A star topology is a LAN architecture in which the endpoints on a network are connected to a common central hub, or
switch, by dedicated links. Logical bus and ring topologies are often implemented physically in a star topology, which is
advantage of token-passing networks is that they are deterministic. In other words, it is easy to calculate the maximum
time that will pass before a device has the opportunity to send data. This explains the popularity of token-passing networks
in some real-time environments such as factories, where machinery must be capable of communicating at a determinable
interval.
For CSMA/CD networks, switches segment the network into multiple collision domains. This reduces the number of
devices per network segment that must contend for the media. By creating smaller collision domains, the performance of a
network can be increased significantly without requiring addressing changes.
Normally CSMA/CD networks are half-duplex, meaning that while a device sends information, it cannot receive at the
time. While that device is talking, it is incapable of also listening for other traffic. This is much like a walkie-talkie. When
one person wants to talk, he presses the transmit button and begins speaking. While he is talking, no one else on the same
frequency can talk. When the sending person is finished, he releases the transmit button and the frequency is available to
others.
When switches are introduced, full-duplex operation is possible. Full-duplex works much like a telephoneyou can listen
as well as talk at the same time. When a network device is attached directly to the port of a network switch, the two
devices may be capable of operating in full-duplex mode. In full-duplex mode, performance can be increased, but
not quite as much as some like to claim. A 100-Mbps Ethernet segment is capable of transmitting 200 Mbps of data, but
only 100 Mbps can travel in one direction at a time. Because most data connections are asymmetric (with more data
traveling in one direction than the other), the gain is not as great as many claim. However, full-duplex operation does
increase the throughput of most applications because the network media is no longer shared. Two devices on a full-duplex
connection can send data as soon as it is ready.
Token-passing networks such as Token Ring can also benefit from network switches. In large networks, the delay between
turns to transmit may be significant because the token is passed around the network.
"LAN Protocols," address specific protocols in more detail. Figure 2-1 illustrates the basic layout of
these three implementations. Figure 2-1 Three LAN Implementations Are Used Most Commonly
Flip-Flops
=============================================================== NAND-gate Latch
=============================================================
NOR-gate
Latch
The time sequence at right shows the conditions under which the set and reset inputs cause a state change,
and when they don't.
==========================================================
J-K Flip-Flop
The J-K flip-flop is the most versatile of the basic flip-flops. It has the input- following
character of the clocked D flip-flop but has two inputs,traditionally labeled J and K. If J
and K are different then the output Q takes the value of J at the next clock edge.
Examine Structure Applications
If J and K are both low then no change occurs. If J and K are both high at the clock edge then the output will
toggle from one state to the other. It can perform the functions of the set/reset flip-flop and has the advantage
that there are no ambiguous states. It can also act as a T flip-flop to accomplish toggling action if J and K are
tied together. This toggle application finds extensive use in binary counters.
===========================================================
Switching Example: J-K Flip-Flop
The positive going transition (PGT) of the clock enables the switching of the
output Q. The "enable" condition does not persist through the entire positive
phase of the clock. The J & K inputs alone cannot cause a transition, but their
values at the time of the PGT determine the output according to the truth table.
==============================================================
The D Flip-Flop
The D flip-flop tracks the input, making transitions with match those of the input D. The
D stands for "data"; this flip-flop stores the value that is on the data line. It can be
thought of as a basic memory cell. A D flip-flop can be made from a set/reset flip-flop
by tying the set to the reset through an inverter. The result may be clocked.
Output Example
--------------------------------------------------------------------------------------------------------========================================================== The T Flip-Flop
The T or "toggle" flip-flop changes its output on
each clock edge, giving an output which is half the
frequency of the signal to the T input.
It is useful for constructing binary counters, frequency dividers, and general binary addition devices. It can
be
made
from
a
J-K
flip-flop
by
tying
both
of
its
inputs
high.
===========================================================
Gates
Introduction
The basic building blocks of a computer are called logical
input and exactly one output. Input and output values are
the logical values true and false. In computer architecture it is common to use 0 for false and 1 for true. Gates
have no memory. The value of the output depends only on the current value of the inputs. This fact makes it
possible to use a truth table to fully describe the behavior of a gate.
Gates are basic circuits that have at least one (and usually more)
Basic gates
The and-gate
and-gate has an arbitrary number of inputs. The output value is 1 if and only if all of the inputs are 1.
Otherwise the output value is 0. The name has been chosen because the output is 1 if and only if the first input
and the second input, and, ..., and the nth input are all 1.
An
diagrams of gates and their interconnections. In such diagrams, the and-gate is drawn like
this:
The truth table for an and-gate with two inputs looks like this:
0
0
1
1
0
1
0
1
|
|
|
|
0
0
0
1
The or-gate
Like the and-gate,
the or-gate can have an arbitrary number of inputs. The output value is 1 if and only of at least
one of the input values are 1. Otherwise the output is 0. In other words, the output value is 0 only if all inputs
are 0. The name has been chosen because the output is 1 if and only if the first input or the second input, or, ...,
or the nth input is 1.
In circuit diagrams, we draw the or-gate
like this:
The truth table for an or-gate with two inputs looks like this:
0
0
1
1
0
1
0
1
|
|
|
|
0
1
1
1
The inverter
inverter has exactly one input and one output. The value of the output is 1 if and only if the input is 0.
Otherwise, the output is 0. In other words, the value of the output is the exact opposite of the value of the input.
An
like this:
Combined gates
Sometimes, it is practical to combine functions of the basic gates into more complex gates, for instance in order to save space in circuit
diagrams. In this section, we show some such combined gates together with their truth tables.
The nand-gate
The nand-gate
is an and-gate with an inverter on the output. So instead of drawing several gates like this:
is like the one for the and-gate, except that all output values have been inverted:
xy|z
------00|1
01|1
10|1
11|0
The nor-gate
The nor-gate
is an or-gate with an inverter on the output. So instead of drawing several gates like this:
We draw a single or-gate with a little ring on the output like this:
The nor-gate, like the or-gate can take an arbitrary number of inputs. The
truth table for the nor-gate is like the one for the or-gate, except that all output values have been inverted:
xy|z
------00|1
01|0
10|0
11|0
The exclusive-or-gate
The exclusive-or-gate
is similar to an or-gate. It can have an arbitrary number of inputs, and its output value is 1
if and only if exactly one input is 1 (and thus the others 0). Otherwise, the output is 0.
We draw an exclusive-or-gate
like this:
The truth table for an exclusive-or-gate with two inputs looks like this:
------00|0
01|1
10|1
11|0
n inputs. The truth tables for such gates have 2n lines. Such a gate is completely
defined by the output column in the truth table. The output column can be viewed as a string of 2n binary digits.
How many different strings of binary digits of length 2n are there? The answer is 22n, since there are 2k
different strings of k binary digits, and if k=2n, then there are 22n such strings. In particular, if n=2, we can see
that there are 16 different types of gates with 2 inputs.
Let us limit ourselves to gates with
Most of these gates do not have any names, and indeed, most of them are quite useless. For completeness, let us look at all 16
and
study the functions they compute. Each entry in the following table is specified by the output string:
A gate that ignores both its inputs and always gives 0 on the output. This gate does not require any
circuits. Just let the inputs hang and connect the output to a 0.
0001 This is the and-gate described above.
0010 This is like an and-gate with an inverter on the second input.
0011 This gate ignores its second input, and gives as output the value of its first input. It does not require any
circuits. Just connect the output to the first input and let the second input hang.
0100 This is like an and-gate with an inverter on the first input.
0101 This gate ignores its first input, and gives as output the value of its second input. It does not require any
circuits. Just connect the output to the second input and let the first input hang.
0110 This is the exclusive-or-gate described above.
0000
require any
As you can see, most of the gates possible, are quite useless.
easier to build a nand-gate than any of the other gates. In that case, the nandgate is considered the most primitive building block, and everything else is built from it.
In some circuit technology, it is actually
nor-gates. Again an inverter is just a nor-gate with only one input. An orgate is a nor-gate with an inverter on its output, and an and-gate is just a nor-gate with an inverter on each
input.
Similarly, all gates can be realized from only
Client-Server Technology
Client-Server
Technologies
Client/Server technology is a means for separating the functions of an application into two or more distinct parts. The
client presents and manipulates data on the desktop computer. The server acts like a mainframe to store and retrieve
protected data. Together each machine can perform the duties it is best at.
=========================================================
Client-server
is a computing architecture which separates a client from a server, and is almost always
implemented over a computer network. Each client or server connected to a network can also be referred to
as a node. The most basic type of client-server architecture employs only two types of nodes: clients and
servers. This type of architecture is sometimes referred to as two-tier. It allows devices to share files and
resources.
Each instance of the client software can send data requests to one or more connected servers. In turn, the servers can
accept these requests, process them, and return the requested information to the client. Although this concept
can be applied for a variety of reasons to many different kinds of applications, the architecture remains
fundamentally the same.
Client-server
These days, clients are most often web browsers, although that has not always been the case. Servers typically include web
servers, database servers and mail servers. Online gaming is usually client-server too. In the specific case of MMORPG, the
servers are typically operated by the company selling the game; for other games one of the players will act as the host by setting
his game in server mode.
The interaction between client and server is often described using sequence diagrams. Sequence diagrams are standardized in the
Unified Modeling Language.
Characteristics
Characteristics of a client
Initiates requests
Waits for and receives replies
Usually connects to a small number of servers at one time
Typically interacts directly with end-users using a graphical user interface
Characteristics of a server
Passive (slave)
Waits for requests from clients
Upon receipt of requests, processes them and then serves replies
Usually accepts connections from a large number of clients
Typically does not interact directly with end-users
Multi-tiered architecture
Some designs are more sophisticated and consist of three different kinds of nodes: clients, application servers which process data
for the clients, and database servers which store data for the application servers. This configuration is called a three-tier
architecture, and is the most commonly used type of client-server architecture. Designs that contain more than two tiers are
referred to as multi-tiered or n-tiered.
The advantages of n-tiered
architectures is that they are far more scalable, since they balance and distribute the
processing load among multiple, often redundant, specialized server nodes. This in turn improves overall
system performance and reliability, since more of the processing load can be accommodated simultaneously.
[1]
The disadvantages of n-tiered
architectures include:
1. More load on the network itself, due to a greater amount of network traffic.
2. More difficult to program and test than in two-tier architectures because more devices have to communicate in order to
complete a client's request.
Another type of network architecture is known as peer-to-peer, because each node or instance of the program can simultaneously
act as both a client and a server, and because each has equivalent responsibilities and status. Peer-to-peer architectures are often
abbreviated using the acronym P2P.
Both client-server and P2P architectures are in wide usage today.
Advantages
In most cases, a client-server architecture enables the roles and responsibilities of a computing system to be distributed among
several independent computers that are known to each other only through a network. This creates an additional advantage to this
architecture: greater ease of maintenance. For example, it is possible to replace, repair, upgrade, or even relocate a server while its
clients remain both unaware and unaffected by that change. This independence from change is also referred to as encapsulation.
All the data are stored on the servers, which generally have far greater security controls than most clients. Servers can better
control access and resources, to guarantee that only those clients with the appropriate permissions may access and change data.
Since data storage is centralized, updates to those data are far easier to administer than would be possible under a P2P paradigm.
Under a P2P architecture, data updates may need to be distributed and applied to each "peer" in the network, which is both timeconsuming and error-prone, as there can be thousands or even millions of peers.
Many mature client-server technologies are already available which were designed to ensure security, 'friendliness' of the user
interface, and ease of use.
It functions with multiple different clients of different capabilities.
Disadvantages
Traffic congestion on the network has been an issue since the inception of the client-server paradigm. As the number of
simultaneous client requests to a given server increases, the server can become severely overloaded. Contrast that to a P2P
network, where its bandwidth actually increases as more nodes are added, since the P2P network's overall bandwidth can be
roughly computed as the sum of the bandwidths of every node in that network.
The client-server paradigm lacks the robustness of a good P2P network. Under client-server, should a critical server fail, clients
requests cannot be fulfilled. In P2P networks, resources are usually distributed among many nodes. Even if one or more nodes
depart and abandon a downloading file, for example, the remaining nodes should still have the data needed to complete the
download.
Examples
client,
while the computers, databases, and applications that make up the online store would be considered the
server. When your web browser requests specific information from the online store, the server finds all of
the data in the database needed to satisfy the browser's request, assembles that data into a web page, and
transmits that page back to your web browser for you to view.
Imagine you are visiting an eCommerce web site. In this case, your computer and web browser would be considered the
Specific types of clients include web browsers, email clients, and online chat clients.
Specific types of servers include web servers, application servers, database servers, mail servers, file servers, print servers, and
terminal servers. Most web services are also types of servers.
============================================================================================
What is Spooling?
Acronym for simultaneous peripheral operations on-line, spooling refers to putting jobs in a buffer, a
special area in memory or on a disk where a device can access them when it is ready. Spooling is useful
because devices access data at different rates. The buffer provides a waiting station where data can rest while
the slower device catches up.
The most common spooling application is print spooling. In print spooling, documents are loaded into a
buffer (usually an area on a disk), and then the printer pulls them off the buffer at its own rate. Because the
documents are in a buffer where they can be accessed by the printer, you can perform other operations on
the
computer
while
the
printing
takes
place
in
the
background.
Spooling also lets you place a number of print jobs on a queue instead of waiting for each one to finish
before
specifying
the
next
one.
---------------------------------------------------------------------------------------------------------
SPOOLING:
system
in
In Spooling, all the work a device is supposed to do is saved in a special memory area. Device then
perform
the
job
request
sequentially
at
high
speed.
One example of spooling is usage of printers in shared systems. All data to be printed from different
printers is saved in memory (on disk) and then finally printer prints all of them sequentially at high
speed.
============================================================
Benefits of EDI
EDI's saves unneccessary re-capture of data. This leads to faster transfer of data, far fewer errors,
less time wasted on exception-handling, and hence a more stream-lined business process.
Benefits can be achieved in such areas as inventory management, transport and distribution,
administration and cash management. EDI offers the prospect of easy and cheap communication of
structured information throughout the government community, and between government agencies and
their suppliers and clients.
EDI can be used to automate existing processes. In addition, the opportunity can be taken to rationalise
procedures, and thereby reduce costs, and improve the speed and quality of services.
Because EDI necessarily involves business partners, it can be used as a catalyst for gaining efficiencies
across organisational boundaries. This strategic potential inherent in EDI is expected to be, in the
medium term, even more significant that the short-term cost, speed and quality benefits.
========================================================
EDI
- EDI (Electronic Data Interchange) is a standard format for exchanging business data. The
standard is ANSI X12 and it was developed by the Data Interchange Standards Association. ANSI X12 is
either closely coordinated with or is being merged with an international standard, EDIFACT.
An EDI message contains a string of data elements, each of which represents a singular fact, such as a price,
product model number, and so forth, separated by delimiter. The entire string is called a data segment. One
or more data segments framed by a header and trailer form a transaction set, which is the EDI unit of
transmission (equivalent to a message). A transaction set often consists of what would usually be contained
in a typical business document or form. The parties who exchange EDI transmissions are referred to as
trading
partners.
EDI messages can be encrypted. EDI is one form of e-commerce, which also includes e-mail and fax.
Operating system
Operating system
Operating System
Some examples of operating systems are UNIX, Mach, MS-DOS, MS-Windows, Windows/NT, Chicago, OS/2, MacOS, VMS,
MVS, and VM.
=================================================================
OPERATING SYSTEM
A Computer System is made up of Hardware, Operating System and user interface. Computer Software can be
divided into System programs which manage the operation of the computer itself and the application
programs, which solve problems for their users.
Operating System is the most fundamental of all the System programs. The Operating System controls the
entire Computers resources and provides the base upon which the application programs can be written.
Operating System has been defined in different ways by different people. Some of the definitions are: An
Operating System is program that makes the computing power available to users by controlling the hardware.
Another definition is that Operating System is a program that controls the execution of application programs.
It masks the details of the hardware to application programs.
Operating System can be summarily defined as: a set of processes permanently or transitively resident within
the Computer that makes the resources of the computer system available to the user in a consistent, reliable,
friendly way. In essence it should be a Resource optimiser and operation
Operating System can be divided into the Kernel and the Operating System. The kernel is the essential centre
of a computer operating system, the core that provides basic services for all other parts of the operating
system. A synonym is nucleus. A kernel can be contrasted with a shell, the outermost part of an operating
system that interacts with user commands. Kernel and shell are terms used more frequently in UNIX and
some other operating systems than in IBM mainframe systems.
TYPES OF OPERATING SYSTEM
Single User
Single-user allows one single user to login at a time. There is no user account database which makes the level
of security low and so users cannot protect their files from being viewed, copied or deleted. Examples of this
type are DOS and Windows 98.
Multi-user
The Multi-user has a user database account which states the right that users have on certain resources. They
are more secure than the single user since access is limited. Example of this is UNIX
Networked/Work alone/
Stand alone are usually not connected to a network and thus cannot access networked resources. They are
usually more secured than and remote users cannot log into the computer. A network operating System uses a
standard communication protocol for UNIX networks and over the internet( we have the TCP/IP). For Novell
Netware internetwork Packet Exchange /Sequenced Packet Exchange (IPX/SPX). They are less secure than
Standalone and should be protected (most times by creating user accounts. More examples are Windows NT
5.0, Windows 98,
MULTI-TASKING/SINGLE TASKING:
multitasking allows one or more programs to run, at time. Each process is given a prioritised amount of time
on the processor. Single-user allows are programs to run at a time. It is usually faster than multi-tasking
Systems +as some time is taken to in switching in multi-user. But multi-user is more efficient as they allow
other tasks to run when a task is not performing any operation. Single-users are more robust, as multiprograms are require to communicate with each other which can cause synchronization problems (deadlock)
Multi Processor/Single Processor: Some Operating System allows for more than one processor to use on the
system. This allows more than one task to be run, at a time, on different processors. Windows NT/2000
supports multi processors (up to 4).
Single Processor, Multitasking involves running each of the processor for a given time slice or a single
processor where with multi processor, they can all run at the same.
This involves allocating, and often to create a virtual memory for program. Paging which means organizing
data so that the program data is loaded into pages of memory. Another method of managing memory is
swapping. This involves swapping the content of memory to disk storage.
MULTI-THREADING:
Processes are often split into smaller task, named threads. This thread allows smoother operations.
===============================================
Printers
In computers, a printer is a device that accepts text and graphic output from a computer and
transfers the information to paper, usually to standard size sheets of paper.
Types of Printers:
Impact Printers, Non-impact Printers, IRIS Printers, LED Printers, Light Emitting Diode Printers, Dye
Sublimation Printers, Desktop Printers, Solid Ink Printers, Host-based Printers, and Network Printers
Printers vary in size, speed, sophistication, and cost. In general, more expensive printers are used for higherresolution
color
printing.
Impact and Non-Impact Printers:
Refers to a class of printers that work by banging a head or needle against an ink ribbon to make a
mark on the paper. This includes dot-matrix printers, daisy-wheel printers, and line printers.
In contrast, laser and ink-jet printers are nonimpact printers. The distinction is important because
impact printers tend to be considerably noisier than nonimpact printers but are useful for multipart
forms such as invoices. (can be used to produce carbon copies)
============================================================
7.1. Types of Printers
7.1.1. Printing Considerations
7.2. Impact Printers
7.2.1. Dot-Matrix Printers
7.2.2. Daisy-wheel Printers
7.2.3. Line Printers
7.2.4. Impact Printer Consumables
7.3. Inkjet Printers
7.3.1. Inkjet Consumables
7.4. Laser Printers
7.4.1. Color Laser Printers
7.4.2. Laser Consumables
7.5. Other Printer Types
7.6. Printer Languages and Technologies
==================================================================
readable characters.
Dot-matrix printers vary in print resolution and overall quality with either 9 or 24-pin printheads. The more
pins per inch, the higher the print resolution. Most dot-matrix printers have a maximum resolution around
240 dpi (dots per inch). While this resolution is not as high as those possible in laser or inkjet printers, there
is one distinct advantage to dot-matrix (or any form of impact) printing. Because the printhead must strike
the surface of the paper with enough force to transfer ink from a ribbon onto the page, it is ideal for
environments that must produce carbon copies through the use of special multi-part documents. These
documents have carbon (or other pressure-sensitive material) on the underside and create a mark on the
sheet underneath when pressure is applied. Retailers and small businesses often use carbon copies as receipts
or bills of sale.
7.3
Non-Impact
Printers
Inkjet printers tend to be low cost and scale slightly upward based on print quality, extra features, and the
ability to print on larger formats than the standard legal or letter paper sizes. While the one-time cost of
purchasing an inkjet is lower than other printer types, there is the factor of inkjet consumables that must be
considered. Because demand for inkjets is large and spans the computing spectrum from home to enterprise,
the procurement of consumables can be costly.
documents and images for close quality inspection before sending off master documents to be pressed on
industrial four-color offset printers). Thermal wax printers use sheet-sized, belt driven CMYK ribbons and
specially-coated paper or transparencies. The printhead contains heating contacts that melt each colored wax
onto the paper as it is rolled through the printer.
Dye-Sublimation Printers
Used in organizations such as service bureaus where professional quality documents, pamphlets, and
presentations are more important than consumables costs dye-sublimation (or dye-sub) printers are the
workhorses of quality CMYK printing. The concepts behind dye-sub printers are similar to thermal wax
printers except for the use of diffusive plastic dye film instead of colored wax as the ink element. The
printhead heats the colored film and vaporizes the image onto specially coated paper.
Dye-sub is quite popular in the design and publishing world as well as the scientific research field, where
preciseness and detail are required. Such detail and print quality comes at a price, as dye-sub printers are
also known for their high costs-per-page.
Solid Ink Printers
Used mostly in the packaging and industrial design industries, solid ink printers are prized for their ability to
print on a wide variety of paper types. Solid ink printers, as the name implies, use hardened ink sticks that
that are melted and sprayed through small nozzles on the printhead. The paper is then sent through a fuser
roller
which
further
forces
the
ink
onto
the
paper.
The solid ink printer is ideal for prototyping and proofing new designs for product packages; as such, most
service-oriented businesses would not have a need for this type of printer.
What is TCP/IP?
TCP/IP is the communication protocol for communication between computers connected to the
Internet.
TCP/IP stands for
The standard defines how electronic devices (like computers) should be connected to the Internet, and
how data should be transmitted between them.
Inside TCP/IP
Hiding inside the TCP/IP standard there are a number of protocols for handling data communication:
TCP (Transmission Control Protocol) communication between applications
UDP (User Datagram Protocol) simple communication between applications
IP (Internet Protocol) communication between computers
ICMP (Internet Control Message Protocol) for errors and statistics
DHCP (Dynamic Host Configuration Protocol) for dynamic addressing
You will learn more about these standards later in this tutorial.
IP is Connection-Less
IP is for communication between computers.
IP is a "connection-less" communication protocol. It does not occupy the communication line between
two communicating computers. This way IP reduces the need for network lines. Each line can be used
for communication between many different computers at the same time.
With IP, messages (or other data) are broken up into small independent "packets" and sent between
computers via the Internet.
IP is responsible for "routing" each packet to its destination.
IP Routers
When an IP packet is sent from a computer, it arrives at an IP router.
The IP router is responsible for "routing" the packet to its destination, directly or via another router.
The path the packet will follow might be different from other packets of the same communication. The
router is responsible for the right addressing depending on traffic volume, errors in the network, or
other parameters.
Connection-Less Analogy
Communicating via IP is like sending a long letter as a large number of small postcards, each finding its
own (often different) way to the receiver.
TCP/IP
TCP/IP is TCP and IP working together.
TCP takes care of the communication between your application software (i.e. your browser) and your
network software.
IP takes care of the communication with other computers.
TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the
packets when they arrive.
IP is responsible for sending the packets to the receiver.
TCP/IP uses 32 bits, or 4 numbers between 0 and 255 to address a computer.
IP Addresses
Each computer must have an IP address before it can connect to the Internet.
Each IP packet must have an address before it can be sent to another computer.
This is an IP address: 192.68.20.50.
This might be the same IP address: www.w3schools.com
You will learn more about IP addresses and IP names in the next chapter of this tutorial.
91.140.162.18
TCP/IP uses 4 numbers to address a computer. Each computer must have a unique 4 number address.
The numbers are always between 0 and 255. Addresses are normally written as four numbers
separated by a period like this: 192.168.1.50.
TCP/IP Protocols
TCP/IP is a large collection of different communication protocols.
A Family of Protocols
TCP/IP is a large collection of different communication protocols based upon the two original protocols
TCP and IP.
IP - Internet Protocol
IP takes care of the communication with other computers.
IP is responsible for the sending and receiving data packets over the Internet.
TCP/IP Email
Email is one of the most important uses of TCP/IP.
When you write an email, you don't use TCP/IP.
When you write an email, you use an email program like Lotus Notes, Microsoft Outlook or Netscape
Communicator.
The IMAP protocol is used by email programs (like Microsoft Outlook) just like the POP protocol.
The main difference between the IMAP protocol and the POP protocol is that the IMAP protocol will not
automatically download all your emails each time your email program connects to your email server.
The IMAP protocol allows you to see through your email messages at the email server before you
download them. With IMAP you can choose to download your messages or just delete them. This way
IMAP is perfect if you need to connect to your email server from different locations, but only want to
download your messages when you are back in your office.
============================================================
TCP/IP
Definition:
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication language or protocol
of the Internet. It can also be used as a communications protocol in a private network (either an intranet or
an extranet). When you are set up with direct access to the Internet, your computer is provided with a copy
of the TCP/IP program just as every other computer that you may send messages to or get information from
also has a copy of TCP/IP.
TCP/IP is a two-layer program. The higher layer, Transmission Control Protocol, manages the assembling of
a message or file into smaller packets that are transmitted over the Internet and received by a TCP layer that
reassembles the packets into the original message. The lower layer, Internet Protocol, handles the address
part of each packet so that it gets to the right destination. Each gateway computer on the network checks this
address to see where to forward the message. Even though some packets from the same message are routed
differently than others, they'll be reassembled at the destination.
TCP/IP uses the client/server model of communication in which a computer user (a client) requests and is
provided a service (such as sending a Web page) by another computer (a server) in the network. TCP/IP
communication is primarily point-to-point, meaning each communication is from one point (or host
computer) in the network to another point or host computer. TCP/IP and the higher-level applications that
use it are collectively said to be "stateless" because each client request is considered a new request unrelated
to any previous one (unlike ordinary phone conversations that require a dedicated connection for the call
duration). Being stateless frees network paths so that everyone can use them continuously. (Note that the
TCP layer itself is not stateless as far as any one message is concerned. Its connection remains in place until
all packets in a message have been received.)
Many Internet users are familiar with the even higher layer application protocols that use TCP/IP to get to
the Internet. These include the World Wide Web's Hypertext Transfer Protocol (HTTP), the File Transfer
Protocol (FTP), Telnet (Telnet) which lets you logon to remote computers, and the Simple Mail Transfer
Protocol (SMTP). These and other protocols are often packaged together with TCP/IP as a "suite."
Personal computer users with an analog phone modem connection to the Internet usually get to the Internet
through the Serial Line Internet Protocol (SLIP) or the Point-to-Point Protocol (PPP). These protocols
encapsulate the IP packets so that they can be sent over the dial-up phone connection to an access provider's
modem.
Protocols related to TCP/IP include the User Datagram Protocol (UDP), which is used instead of TCP for
special purposes. Other protocols are used by network host computers for exchanging router information.
These include the Internet Control Message Protocol (ICMP), the Interior Gateway Protocol (IGP), the
Exterior Gateway Protocol (EGP), and the Border Gateway Protocol (BGP).
================================================================
E-Mail
What
is
e-mail?
E-mail (short for electronic mail; often also abbreviated as e-mail, email or simply mail) is a store and
forward method of composing, sending, storing, and receiving messages over electronic communication
systems. The term "e-mail" (as a noun or verb) applies both to the Internet e-mail system based on the
Simple Mail Transfer Protocol (SMTP) and to X.400 systems, and to intranet systems allowing users
within one organization to e-mail each other. Often these workgroup collaboration organizations may use
the Internet protocols or X.400 protocols for internal e-mail service. E-mail is often used to deliver bulk
unsolicited messages, or "spam", but filter programs exist which can automatically delete some or most of
these,
depending
on
the
situation.
In its simplest form, e-mail is an electronic message sent from one device to another. While most
messages go from computer to computer, e-mail can also be sent and received by mobile phones,
PDAs and other devices. With e-mail, you can send or receive personal and business-related messages
with attachments, such as photos or formatted documents. You can also send music, video clips and
software programs.
It can take days to send a letter across the country and weeks to go around the world. To save time
and money, more and more people are relying on electronic mail. It's fast, easy and much cheaper
than the using the post office.
E-mail is the way to go. It's no wonder e-mail has become the most popular service on the Internet.
Just as a letter makes stops at different postal stations along the way to its final destination, e-mail passes from one
computer, known as a mail server, to another as it travels over the Internet. Once it arrives at the destination mail server,
it's stored in an electronic mailbox until the recipient retrieves it. This whole process can take seconds, allowing you to
quickly communicate with people around the world at any time of the day or night.
==========================================================
transfer
agent:
A mail transfer agent or MTA (also called a mail transport agent, message transfer agent, mail server,
SMTPD (short for SMTP daemon), or a mail exchanger (MX) in the context of the Domain Name System)
is a computer program or software agent that transfers electronic mail messages from one computer to
another.
It receives messages from another MTA (relaying), a mail submission agent (MSA) that itself got the mail
from a mail user agent (MUA), or directly from an MUA, thus acting as an MSA itself. The MTA works
behind
the
scenes,
while
the
user
usually
interacts
with
the
MUA.
The delivery of e-mail to a user's mailbox typically takes place via a mail delivery agent (MDA); many
MTAs have basic MDA functionality built in, but a dedicated MDA like procmail can provide more
sophistication.
user
agent:
A mail user agent (MUA) functions by connecting to a mailbox into which e-mail has been fetched and
stored in a particular format. It typically presents a simple user interface to perform tasks with the mail. An
MUA
by
itself
is
incapable
of
sending
or
retrieving
mail.
delivery
agent
A Mail Delivery Agent (MDA) is software that accepts incoming e-mail messages and distributes them to
recipients' individual mailboxes (if the destination account is on the local machine), or forwards to another
SMTP
server
(if
the
destination
is
on
a
remote
server).
A mail delivery agent is not necessarily a mail transfer agent (MTA), although on many systems the two
functions
are
implemented
by
the
same
program.
On Unix systems, procmail and maildrop are the most popular MDAs. LMTP is a protocol that is frequently
implemented
by
network-aware
MDAs.
=============================================================
Information System
What is meant by Information Systems? How are they different from file system?
An Information System is a set of elements each of which is capable of carrying out certain
information processing. All the elements processing the task of information processing together for achieving
a desired objective constitute an linformation system. A personal computer is an example of infromation
system. An information system is general consistes of the following units:
1. Logical Organisational Units
2. Computer hardware and software
3. Information related personnels
File systems
File system is concern with the logical organisation of information. File system deals with collection of
unstructured and uninterpreted information. Each seperately identified collection and information is called
the file. A database management system is a file system that performs structuring of information. we can
functionally divide the file system into seven logical phases.
They are:
1.Accessing Methods
2. Logival File system
3. Basic File System
4. File organisation strategy
5. Allocation System strategy
6. Device strategy
7. I/O Control system
A programmer makes a request to read a file. He use a symbolic name. The logical file system accepts the
symbolic name and finds the corresponding numeric file identifier. The basic file system takes the numeric
file identifier and obtain a file descriptor, The File organissation strategy module uses the descriptor to
determine the physical I/O commands to access the information ( from where it is stored). I/O control system
scheduled the execution of the physical file commands.
====================================================
How is strategic Information System useful for decision making?
Ahighlevelinformationsystemisonethatsupportsdecisionmakingbyprovidingpastandfuturedatatoa
client program. The client program aids the decision maker by incorporating analysis and planning
algorithmsthatassessthevalueofalternatedecisionstobemadenoworatpointsinthenearfuture.
Duringthatprocesseffectiveaccessisneededtopastandcurrentinformation,andtoforecastsaboutthe
future, given information about current state and decisions that may be made, typically about resource
allocations:money,people,andsupplies.
Datacoveringpastinformationhastobeselected,aggregatedandtransformedtobeeffectiveindecision
making.Becauseofthevolumeofresourcesmediatingmodulesareoftenrequired.Amediatorisasoftware
modulethatexploitsencodedknowledgeaboutcertainsetsorsubsetsofdatatocreateinformationfora
higherlayerofapplications.Amediatormoduleshouldbesmallandsimple,sothatitcanbemaintainedby
oneexpertor,atmost,asmallandcoherentgroupofexperts.Theresultsaremosteffectivelyrepresentedby
atimeline[DasSTM:94].Thecommonassumptionsisthatthereisonlyoneversionofthepast,andthatit
canbeobjectivelydetermined.
Recentdatamaybereportedbymessages,especiallywheredatabasescannotbeupdatedinstantaneously.
Thedatabaseparadigmisstrongonconsistency,butthatmaymeanthatrecentinformation, thatisnot
completeoryetverified,maynotberetrievablefromaformaldatabase.Tothedecisionmaker,however
suchinformationisvaluable,sinceanyinformationcanlowertheuncertaintywhenonehastoprojectinto
thefuture.
=========================================
Cache memory
Cache (pronounced cash) memory is extremely fast memory that is built into a computers central
processing unit (CPU), or located next to it on a separate chip. The CPU uses cache memory to store
instructions that are repeatedly required to run programs, improving overall system speed. The advantage of
cache memory is that the CPU does not have to use the motherboards system bus for data transfer.
Whenever data must be passed through the system bus, the data transfer speed slows to the motherboards
capability. The CPU can process data much faster by avoiding the bottleneck created by the system bus.
As it happens, once most programs are open and running, they use very few resources. When these resources
are kept in cache, programs can operate more quickly and efficiently. All else being equal, cache is so
effective in system performance that a computer running a fast CPU with little cache can have lower
benchmarks than a system running a somewhat slower CPU with more cache. Cache built into the CPU
itself is referred to as Level 1 (L1) cache. Cache that resides on a separate chip next to the CPU is called
Level 2 (L2) cache. Some CPUs have both L1 and L2 cache built-in and designate the separate cache chip as
Level 3 (L3) cache.
Cache that is built into the CPU is faster than separate cache, running at the speed of the microprocessor
itself. However, separate cache is still roughly twice as fast as Random Access Memory (RAM). Cache is
more expensive than RAM, but it is well worth getting a CPU and motherboard with built-in cache in order
to maximize system performance.
Disk caching applies the same principle to the hard disk that memory caching applies to the CPU.
Frequently accessed hard disk data is stored in a separate segment of RAM in order to avoid having to
retrieve it from the hard disk over and over. In this case, RAM is faster than the platter technology used in
conventional hard disks. This situation will change, however, as hybrid hard disks become ubiquitous. These
disks have built-in flash memory caches. Eventually, hard drives will be 100% flash drives, eliminating the
need for RAM disk caching, as flash memory is faster than RAM.
=============================================================================
=======
What is a Cache?
Computer caches are memory circuits that serve to speed up a much larger memory drive. In a typical computer it takes the
microprocessor 60 nanoseconds to access the RAM. To cut the time it takes for the microprocessor to access data from the RAM,
a special memory bank or memory circuit is installed into the motherboard itself. This is called an L2 cache and it can deliver the
needed data in 30 nanoseconds, which is half the speed of the main memory.
Caches are small memory banks that serve to speed up a larger memory bank by being nearer and faster to the processor. To
further speed up the operations in the microprocessor, an L1 cache is installed right on top of the microprocessor. This makes the
operation dependent only on the speed of the microprocessor and not on the speed of any memory bus. An L1 cache, therefore, is
3.5 times faster than an L2 bus.
The internet is the slowest and biggest "memory drive" that a personal computer can access. To speed up its operations, the
computer stores temporary files on the previous pages viewed in the internet. This operation uses the hard drive as a caching
subsystem and results in faster access to data the next time a page is viewed.
Modern hard drives have their own caching subsystems that are accessed before the physical drive is. This results in much faster
retrieval of data. A very concrete example of this is when the hard drive is used as a caching subsystem to the files in a floppy disk
drive. A 3-megabyte file in a floppy drive typically takes 20 seconds to display the first time it is accessed. It displays a lot faster
the second time around, though, because the operating system checks with the hard drive first if it contains a copy of the same file
before accessing the floppy disk. Since the hard drive is much faster to access than the floppy drive, the floppy drive will not be
searched the second time the same data is retrieved.
A summary of the typical caching subsystems of a computer from the slowest to the fastest will be the following. The internet
which could take between 1 second to several hours to download data, the mechanical hard drive which takes 12 milliseconds to
access the same data, the main memory or RAM which takes around 60 nanoseconds to access 32 MB to 512 MB-sized data, the
l2 cache or SRAM type memory that can access 128 KB to 512 KB-sized data in about 20 to 30 nanoseconds, and the L1 cache
which can access 4 KB to 16 KB-sized data in 10 nanoseconds or less depending on the speed of the microprocessor.
Small memory banks are a lot faster but slower and bigger memory banks are a lot cheaper and are thus more practical to use.
Caching offsets this disadvantage and maximizes speed of the system by making frequently used data readily accessible to the
system.
===================================================================