data base managment

Upload: subhavellu

Post on 08-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Data base managment

    1/36

    A Database Management System (DBMS) is a set ofcomputer programs that controlsthe creation, maintenance, and the use of a database. It allows organizations to placecontrol of database development in the hands ofdatabase administrators(DBAs) andother specialists. A DBMS is a system software package that helps the use of integratedcollection of data records and files known as databases. It allows different user

    application programs to easily access the same database. DBMSs may use any of avariety ofdatabase models, such as the network modelorrelational model. In largesystems, a DBMS allows users and other software to store and retrieve data in astructured way. Instead of having to write computer programs to extract information, usercan ask simple questions in aquery language. Thus, many DBMS packages provideFourth-generation programming language(4GLs) and other application developmentfeatures. It helps to specify the logical organization for a database and access and use theinformation within a database. It provides facilities for controllingdata access, enforcingdata integrity, managing concurrency, and restoring the database from backups. A DBMSalso provides the ability to logically present database information to users.

    Overview

    A DBMS is a set ofsoftware programs that controls the organization,storage,management, and retrieval ofdata in a database. DBMSs are categorized according totheir data structures or types. The DBMS accepts requests for data from an applicationprogram and instructs the operating system to transfer the appropriate data. The queriesand responses must be submitted and received according to a format that conforms to oneor more applicable protocols. When a DBMS is used,information systemscan bechanged much more easily as the organization's information requirements change. Newcategories of data can be added to the database without disruption to the existing system.

    Database servers are computers that hold the actual databases and run only the DBMSand related software. Database servers are usuallymultiprocessorcomputers, withgenerous memory and RAID disk arrays used for stable storage. Hardware databaseaccelerators, connected to one or more servers via a high-speed channel, are also used inlarge volume transaction processing environments. DBMSs are found at the heart of mostdatabase applications. DBMSs may be built around a custom multitaskingkernelwithbuilt-in networking support, but modern DBMSs typically rely on a standard operatingsystem to provide these functions.

    History

    Databases have been in use since the earliest days of electronic computing. Unlikemodern systems which can be applied to widely different databases and needs, the vastmajority of older systems were tightly linked to the custom databases in order to gainspeed at the expense of flexibility. Originally DBMSs were found only in largeorganizations with the computerhardware needed to support large data sets.

    http://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Database_administratorhttp://en.wikipedia.org/wiki/Database_administratorhttp://en.wikipedia.org/wiki/Database_modelhttp://en.wikipedia.org/wiki/Database_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttp://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttp://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Data_integrityhttp://en.wikipedia.org/wiki/Software_programhttp://en.wikipedia.org/wiki/Software_programhttp://en.wikipedia.org/wiki/Organizationhttp://en.wikipedia.org/wiki/Organizationhttp://en.wikipedia.org/wiki/Computer_storagehttp://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Querieshttp://en.wikipedia.org/wiki/Information_systemhttp://en.wikipedia.org/wiki/Information_systemhttp://en.wikipedia.org/wiki/Information_systemhttp://en.wikipedia.org/wiki/Multiprocessorhttp://en.wikipedia.org/wiki/Multiprocessorhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_diskshttp://en.wikipedia.org/wiki/Database_applicationhttp://en.wikipedia.org/wiki/Database_applicationhttp://en.wikipedia.org/wiki/Computer_multitaskinghttp://en.wikipedia.org/wiki/Computer_multitaskinghttp://en.wikipedia.org/wiki/Kernel_(computers)http://en.wikipedia.org/wiki/Kernel_(computers)http://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Database_administratorhttp://en.wikipedia.org/wiki/Database_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttp://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Data_integrityhttp://en.wikipedia.org/wiki/Software_programhttp://en.wikipedia.org/wiki/Organizationhttp://en.wikipedia.org/wiki/Computer_storagehttp://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Querieshttp://en.wikipedia.org/wiki/Information_systemhttp://en.wikipedia.org/wiki/Multiprocessorhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_diskshttp://en.wikipedia.org/wiki/Database_applicationhttp://en.wikipedia.org/wiki/Computer_multitaskinghttp://en.wikipedia.org/wiki/Kernel_(computers)http://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Computer
  • 8/7/2019 Data base managment

    2/36

    [edit] 1960s Navigational DBMS

    As computers grew in speed and capability, a number of general-purpose databasesystems emerged; by the mid-1960s there were a number of such systems in commercialuse. Interest in a standard began to grow, and Charles Bachman, author of one such

    product, Integrated Data Store(IDS), founded the "Database Task Group" withinCODASYL, the group responsible for the creation and standardization ofCOBOL. In1971 they delivered their standard, which generally became known as the "Codasylapproach", and soon there were a number of commercial products based on it available.

    The Codasyl approach was based on the "manual" navigation of a linked data set whichwas formed into a large network. When the database was first opened, the program washanded back a link to the firstrecordin the database, which also contained pointers toother pieces of data. To find any particular record the programmer had to step throughthese pointers one at a time until the required record was returned. Simple queries like"find all the people in India" required the program to walk the entire data set and collect

    the matching results. There was, essentially, no concept of "find" or "search". This mightsound like a serious limitation today, but in an era when the data was most often storedon magnetic tape such operations were too expensive to contemplate anyway.

    IBM also had their own DBMS system in 1968, known as IMS. IMS was a developmentof software written for the Apollo program on theSystem/360. IMS was generally similarin concept to Codasyl, but used a strict hierarchy for its model of data navigation insteadof Codasyl's network model. Both concepts later became known asnavigationaldatabases due to the way data was accessed, and Bachman's 1973 Turing Award awardpresentation was The Programmer as Navigator. IMS is classified as ahierarchicaldatabase. IMS and IDMS, both CODASYL databases, as well as CINCOMs TOTAL

    database are classified as network databases.

    [edit] 1970s Relational DBMS

    Edgar Codd worked at IBM in San Jose, California, in one of their offshoot offices thatwas primarily involved in the development ofhard disksystems. He was unhappy withthe navigational model of the Codasyl approach, notably the lack of a "search" facility. In1970, he wrote a number of papers that outlined a new approach to database constructionthat eventually culminated in the groundbreaking A Relational Model of Data for LargeShared Data Banks.[1]

    In this paper, he described a new system for storing and working with large databases.Instead of records being stored in some sort oflinked listof free-form records as inCodasyl, Codd's idea was to use a "table" of fixed-length records. A linked-list systemwould be very inefficient when storing "sparse" databases where some of the data for anyone record could be left empty. The relational model solved this by splitting the data intoa series of normalized tables, with optional elements being moved out of the main table towhere they would take up room only if needed.

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=3http://en.wikipedia.org/wiki/Charles_Bachmanhttp://en.wikipedia.org/wiki/Charles_Bachmanhttp://en.wikipedia.org/wiki/Integrated_Data_Storehttp://en.wikipedia.org/wiki/Integrated_Data_Storehttp://en.wikipedia.org/wiki/CODASYLhttp://en.wikipedia.org/wiki/COBOLhttp://en.wikipedia.org/wiki/Database_recordhttp://en.wikipedia.org/wiki/Database_recordhttp://en.wikipedia.org/wiki/Database_recordhttp://en.wikipedia.org/wiki/Pointer_(computing)http://en.wikipedia.org/wiki/Magnetic_tapehttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/Information_Management_Systemhttp://en.wikipedia.org/wiki/Apollo_programhttp://en.wikipedia.org/wiki/System/360http://en.wikipedia.org/wiki/System/360http://en.wikipedia.org/wiki/System/360http://en.wikipedia.org/wiki/Navigational_databasehttp://en.wikipedia.org/wiki/Navigational_databasehttp://en.wikipedia.org/wiki/Navigational_databasehttp://en.wikipedia.org/wiki/Turing_Awardhttp://en.wikipedia.org/wiki/Hierarchical_databasehttp://en.wikipedia.org/wiki/Hierarchical_databasehttp://en.wikipedia.org/wiki/Hierarchical_databasehttp://en.wikipedia.org/wiki/Hierarchical_databasehttp://en.wikipedia.org/wiki/IDMShttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=4http://en.wikipedia.org/wiki/Edgar_Coddhttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/San_Jose,_Californiahttp://en.wikipedia.org/wiki/Hard_diskhttp://en.wikipedia.org/wiki/Database_management_system#cite_note-0http://en.wikipedia.org/wiki/Linked_listhttp://en.wikipedia.org/wiki/Linked_listhttp://en.wikipedia.org/wiki/Linked_listhttp://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=3http://en.wikipedia.org/wiki/Charles_Bachmanhttp://en.wikipedia.org/wiki/Integrated_Data_Storehttp://en.wikipedia.org/wiki/CODASYLhttp://en.wikipedia.org/wiki/COBOLhttp://en.wikipedia.org/wiki/Database_recordhttp://en.wikipedia.org/wiki/Pointer_(computing)http://en.wikipedia.org/wiki/Magnetic_tapehttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/Information_Management_Systemhttp://en.wikipedia.org/wiki/Apollo_programhttp://en.wikipedia.org/wiki/System/360http://en.wikipedia.org/wiki/Navigational_databasehttp://en.wikipedia.org/wiki/Navigational_databasehttp://en.wikipedia.org/wiki/Turing_Awardhttp://en.wikipedia.org/wiki/Hierarchical_databasehttp://en.wikipedia.org/wiki/Hierarchical_databasehttp://en.wikipedia.org/wiki/IDMShttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=4http://en.wikipedia.org/wiki/Edgar_Coddhttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/San_Jose,_Californiahttp://en.wikipedia.org/wiki/Hard_diskhttp://en.wikipedia.org/wiki/Database_management_system#cite_note-0http://en.wikipedia.org/wiki/Linked_listhttp://en.wikipedia.org/wiki/Table_(database)
  • 8/7/2019 Data base managment

    3/36

    In the relational model, related records are linked together with a "key".

    For instance, a common use of a database system is to track information about users, theirname, login information, various addresses and phone numbers. In the navigationalapproach all of these data would be placed in a single record, and unused items wouldsimply not be placed in the database. In the relational approach, the data would benormalizedinto a user table, an address table and a phone number table (for instance).Records would be created in these optional tables only if the address or phone numberswere actually provided.

    Linking the information back together is the key to this system. In the relational model,some bit of information was used as a "key", uniquely defining a particular record. Wheninformation was being collected about a user, information stored in the optional (or

    related) tables would be found by searching for this key. For instance, if the login nameof a user is unique, addresses and phone numbers for that user would be recorded withthe login name as its key. This "re-linking" of related data back into a single collection issomething that traditional computer languages are not designed for.

    Just as the navigational approach would require programs to loop in order to collectrecords, the relational approach would require loops to collect information about any onerecord. Codd's solution to the necessary looping was a set-oriented language, asuggestion that would later spawn the ubiquitousSQL. Using a branch of mathematicsknown as tuple calculus, he demonstrated that such a system could support all theoperations of normal databases (inserting, updating etc.) as well as providing a simple

    system for finding and returning sets of data in a single operation.

    Codd's paper was picked up by two people at Berkeley, Eugene Wong and MichaelStonebraker. They started a project known as INGRESusing funding that had alreadybeen allocated for a geographical database project, using student programmers to producecode. Beginning in 1973, INGRES delivered its first test products which were generallyready for widespread use in 1979. During this time, a number of people had moved"through" the group perhaps as many as 30 people worked on the project, about five at

    http://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Primary_keyhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Tuple_calculushttp://en.wikipedia.org/w/index.php?title=Eugene_Wong&action=edit&redlink=1http://en.wikipedia.org/wiki/Michael_Stonebrakerhttp://en.wikipedia.org/wiki/Michael_Stonebrakerhttp://en.wikipedia.org/wiki/INGREShttp://en.wikipedia.org/wiki/INGREShttp://en.wikipedia.org/wiki/File:Relational_key.pnghttp://en.wikipedia.org/wiki/File:Relational_key.pnghttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Primary_keyhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Tuple_calculushttp://en.wikipedia.org/w/index.php?title=Eugene_Wong&action=edit&redlink=1http://en.wikipedia.org/wiki/Michael_Stonebrakerhttp://en.wikipedia.org/wiki/Michael_Stonebrakerhttp://en.wikipedia.org/wiki/INGRES
  • 8/7/2019 Data base managment

    4/36

    a time. INGRES was similar to System Rin a number of ways, including the use of a"language" for data access, known asQUEL QUEL was in fact relational, having beenbased on Codd's own Alpha language, but has since been corrupted to follow SQL, thusviolating much the same concepts of the relational model as SQL itself.

    IBM itself did one test implementation of the relational model, PRTV, and a productionone,Business System 12, both now discontinued. Honeywelldid MRDS forMultics, andnow there are two new implementations:Alphora Dataphorand Rel. All other DBMSimplementations usually called relationalare actually SQL DBMSs. In 1968, theUniversity of Michigan began development of the Micro DBMSrelational databasemanagement system. It was used to manage very large data sets by the US Department ofLabor, the Environmental Protection Agency and researchers from University of Alberta,the University of Michigan and Wayne State University. It ran on mainframe computersusing Michigan Terminal System. The system remained in production until 1996.

    [edit] End 1970s SQL DBMS

    IBM started working on a prototype system loosely based on Codd's concepts as SystemRin the early 1970s. The first version was ready in 1974/5, and work then started onmulti-table systems in which the data could be split so that all of the data for a record(much of which is often optional) did not have to be stored in a single large "chunk".Subsequent multi-user versions were tested by customers in 1978 and 1979, by whichtime a standardized query language, SQL, had been added. Codd's ideas wereestablishing themselves as both workable and superior to Codasyl, pushing IBM todevelop a true production version of System R, known as SQL/DS, and, later, Database 2(DB2).

    Many of the people involved with INGRES became convinced of the future commercialsuccess of such systems, and formed their own companies to commercialize the work butwith an SQL interface. Sybase,Informix, NonStop SQLand eventuallyIngres itself wereall being sold as offshoots to the original INGRES product in the 1980s. Even MicrosoftSQL Serveris actually a re-built version of Sybase, and thus, INGRES. OnlyLarryEllison's Oracle started from a different chain, based on IBM's papers on System R, andbeat IBM to market when the first version was released in 1978.

    Stonebraker went on to apply the lessons from INGRES to develop a new database,Postgres, which is now known as PostgreSQL. PostgreSQL is often used for globalmission critical applications (the .org and .info domain name registries use it as their

    primary data store, as do many large companies and financial institutions).

    In Sweden, Codd's paper was also read andMimer SQL was developed from the mid-70sat Uppsala University. In 1984, this project was consolidated into an independententerprise. In the early 1980s, Mimer introduced transaction handling for high robustnessin applications, an idea that was subsequently implemented on most other DBMS.

    http://en.wikipedia.org/wiki/IBM_System_Rhttp://en.wikipedia.org/wiki/QUELhttp://en.wikipedia.org/wiki/QUELhttp://en.wikipedia.org/wiki/PRTVhttp://en.wikipedia.org/wiki/Business_System_12http://en.wikipedia.org/wiki/Business_System_12http://en.wikipedia.org/wiki/Honeywellhttp://en.wikipedia.org/wiki/Honeywellhttp://en.wikipedia.org/wiki/Multicshttp://en.wikipedia.org/wiki/Multicshttp://en.wikipedia.org/wiki/Dataphorhttp://en.wikipedia.org/wiki/Dataphorhttp://en.wikipedia.org/wiki/Rel_(DBMS)http://en.wikipedia.org/wiki/Micro_DBMShttp://en.wikipedia.org/wiki/Micro_DBMShttp://en.wikipedia.org/wiki/Michigan_Terminal_Systemhttp://en.wikipedia.org/wiki/Michigan_Terminal_Systemhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=5http://en.wikipedia.org/wiki/IBM_System_Rhttp://en.wikipedia.org/wiki/IBM_System_Rhttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/IBM_DB2http://en.wikipedia.org/wiki/Sybasehttp://en.wikipedia.org/wiki/Sybasehttp://en.wikipedia.org/wiki/Informixhttp://en.wikipedia.org/wiki/NonStop_SQLhttp://en.wikipedia.org/wiki/NonStop_SQLhttp://en.wikipedia.org/wiki/Ingres_(database)http://en.wikipedia.org/wiki/Ingres_(database)http://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Larry_Ellisonhttp://en.wikipedia.org/wiki/Larry_Ellisonhttp://en.wikipedia.org/wiki/Larry_Ellisonhttp://en.wikipedia.org/wiki/Oracle_Databasehttp://en.wikipedia.org/wiki/PostgreSQLhttp://en.wikipedia.org/wiki/Swedenhttp://en.wikipedia.org/wiki/Mimer_SQLhttp://en.wikipedia.org/wiki/Mimer_SQLhttp://en.wikipedia.org/wiki/Uppsala_Universityhttp://en.wikipedia.org/wiki/IBM_System_Rhttp://en.wikipedia.org/wiki/QUELhttp://en.wikipedia.org/wiki/PRTVhttp://en.wikipedia.org/wiki/Business_System_12http://en.wikipedia.org/wiki/Honeywellhttp://en.wikipedia.org/wiki/Multicshttp://en.wikipedia.org/wiki/Dataphorhttp://en.wikipedia.org/wiki/Rel_(DBMS)http://en.wikipedia.org/wiki/Micro_DBMShttp://en.wikipedia.org/wiki/Michigan_Terminal_Systemhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=5http://en.wikipedia.org/wiki/IBM_System_Rhttp://en.wikipedia.org/wiki/IBM_System_Rhttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/IBM_DB2http://en.wikipedia.org/wiki/Sybasehttp://en.wikipedia.org/wiki/Informixhttp://en.wikipedia.org/wiki/NonStop_SQLhttp://en.wikipedia.org/wiki/Ingres_(database)http://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Larry_Ellisonhttp://en.wikipedia.org/wiki/Larry_Ellisonhttp://en.wikipedia.org/wiki/Oracle_Databasehttp://en.wikipedia.org/wiki/PostgreSQLhttp://en.wikipedia.org/wiki/Swedenhttp://en.wikipedia.org/wiki/Mimer_SQLhttp://en.wikipedia.org/wiki/Uppsala_University
  • 8/7/2019 Data base managment

    5/36

    [edit] 1980s Object Oriented Databases

    The 1980s, along with a rise in object oriented programming, saw a growth in how datain various databases were handled. Programmers and designers began to treat the data intheir databases as objects. That is to say that if a person's data were in a database, that

    person's attributes, such as their address, phone number, and age, were now considered tobelong to that person instead of being extraneous data. This allows for relationshipsbetween data to be relation to objects and their attributes and not to individual fields.[2]

    Another big game changer for databases in the 1980s was the focus on increasingreliability and access speeds. In 1989, two professors from the University of Michigan atMadison[citation needed], published an article at an ACM associated conference outlining theirmethods on increasing database performance. The idea was to replicate specificimportant, and often queried information, and store it in a smaller temporary databasethat linked these key features back to the main database. This meant that a query couldsearch the smaller database much quicker, rather than search the entire dataset.[3]This

    eventually leads to the practice of indexing, which is used by almost every operatingsystem from Windows to the system that operates Apple iPod devices.

    [edit] DBMS building blocks

    A DBMS includes four main parts: modeling language, data structure, database querylanguage, and transaction mechanisms:

    [edit] Components of DBMS

    DBMS Engine accepts logical request from the various other DBMS subsystems,

    converts them into physical equivalents, and actually accesses the database anddata dictionary as they exist on a storage device.

    Data Definition Subsystem helps user to create and maintain the data dictionaryand define the structure of the files in a database.

    Data Manipulation Subsystem helps user to add, change, and delete informationin a database and query it for valuable information. Software tools within the datamanipulation subsystem are most often the primary interface between user and theinformation contained in a database. It allows user to specify its logicalinformation requirements.

    Application Generation Subsystem contains facilities to help users to developtransaction-intensive applications. It usually requires that user perform a detailed

    series of tasks to process a transaction. It facilitates easy-to-use data entry screens,programming languages, and interfaces.

    Data Administration Subsystem helps users to manage the overall databaseenvironment by providing facilities for backup and recovery, securitymanagement, query optimization, concurrency control, and change management.

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=6http://en.wikipedia.org/wiki/Database_management_system#cite_note-1http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Database_management_system#cite_note-2http://en.wikipedia.org/wiki/Database_management_system#cite_note-2http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=7http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=8http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=6http://en.wikipedia.org/wiki/Database_management_system#cite_note-1http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Database_management_system#cite_note-2http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=7http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=8
  • 8/7/2019 Data base managment

    6/36

    [edit] Modeling language

    A data modelinglanguageto define the schemaof each database hosted in the DBMS,according to the DBMS database model. The four most common types of models are the:

    hierarchical model , network model , relational model , and object model .

    Inverted lists and other methods are also used. A given database management system mayprovide one or more of the four models. The optimal structure depends on the naturalorganization of the application's data, and on the application's requirements (whichinclude 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, sinceit violates several of its fundamental principles for the sake of practicality andperformance. Many DBMSs also support the Open Database ConnectivityAPI thatsupports a standard way forprogrammers to access the DBMS.

    Before the database management approach, organizations relied on file processingsystems to organize, store, and process data files. End users became aggravated with fileprocessing because data is stored in many different files and each organized in a differentway. Each file was specialized to be used with a specific application. Needless to say, fileprocessing was bulky, costly and nonflexible when it came to supplying needed dataaccurately and promptly. Data redundancy is an issue with the file processing system

    because the independent data files produce duplicate data so when updates were neededeach separate file would need to be updated. Another issue is the lack of data integration.The data is dependent on other data to organize and store it. Lastly, there was not anyconsistency or standardization of the data in a file processing system which makesmaintenance difficult. For all these reasons, the database management approach wasproduced. Database management systems (DBMS) are designed to use one of fivedatabase structures to provide simplistic access to information stored in databases. Thefive database structures are hierarchical, network, relational, multidimensional andobject-oriented models.

    The hierarchical structure was used in early mainframe DBMS. Records relationships

    form a treelike model. This structure is simple but nonflexible because the relationship isconfined to a one-to-many relationship. IBMs IMS system and the RDM Mobile areexamples of a hierarchical database system with multiple hierarchies over the same data.RDM Mobile is a newly designed embedded database for a mobile computer system. Thehierarchical structure is used primarily today for storing geographic information and filesystems.

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=9http://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Database_modelhttp://en.wikipedia.org/wiki/Hierarchical_modelhttp://en.wikipedia.org/wiki/Hierarchical_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Object_modelhttp://en.wikipedia.org/wiki/Object_modelhttp://en.wikipedia.org/wiki/Object_modelhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Open_Database_Connectivityhttp://en.wikipedia.org/wiki/Open_Database_Connectivityhttp://en.wikipedia.org/wiki/Application_programming_interfacehttp://en.wikipedia.org/wiki/Programmerhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=9http://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Database_modelhttp://en.wikipedia.org/wiki/Hierarchical_modelhttp://en.wikipedia.org/wiki/Network_modelhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Object_modelhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Open_Database_Connectivityhttp://en.wikipedia.org/wiki/Application_programming_interfacehttp://en.wikipedia.org/wiki/Programmer
  • 8/7/2019 Data base managment

    7/36

    The network structure consists of more complex relationships. Unlike the hierarchicalstructure, it can relate to many records and accesses them by following one of severalpaths. In other words, this structure allows for many-to-many relationships.

    The relational structure is the most commonly used today. It is used by mainframe,

    midrange and microcomputer systems. It uses two-dimensional rows and columns tostore data. The tables of records can be connected by common key values. While workingfor IBM, E.F. Codd designed this structure in 1970. The model is not easy for the enduser to run queries with because it may require a complex combination of many tables.

    The multidimensional structure is similar to the relational model. The dimensions of thecube looking model have data relating to elements in each cell. This structure gives aspreadsheet like view of data. This structure is easy to maintain because records arestored as fundamental attributes, the same way theyre viewed and the structure is easy tounderstand. Its high performance has made it the most popular database structure when itcomes to enabling online analytical processing (OLAP).

    The object oriented structure has the ability to handle graphics, pictures, voice and text,types of data, without difficultly unlike the other database structures. This structure ispopular for multimedia Web-based applications. It was designed to work with object-oriented programming languages such as Java.

    [edit] Data structure

    Data structures(fields, records, files and objects) optimized to deal with very largeamounts of data stored on a permanentdata storage device (which implies relatively slowaccess compared to volatile main memory).

    [edit] Database query language

    A database query language and report writer allows users to interactively interrogate thedatabase, analyze its data and update it according to theusers privileges on data. It alsocontrols the securityof the database. Data security prevents unauthorized users fromviewing or updating the database. Using passwords, users are allowed access to the entiredatabase or subsets of it called subschemas. For example, an employee database cancontain all the data about an individual employee, but one group of users may beauthorized to view only payroll data, while others are allowed access to only work historyand medical data.

    If the DBMS provides a way to interactively enter and update the database, as well asinterrogate it, this capability allows for managing personal databases. However, it maynot 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 programsare customized for each data entry and updating function.

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=10http://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Digital_permanencehttp://en.wikipedia.org/wiki/Data_storage_devicehttp://en.wikipedia.org/wiki/Computer_storagehttp://en.wikipedia.org/wiki/Primary_storagehttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=11http://en.wikipedia.org/wiki/Database_query_languagehttp://en.wikipedia.org/wiki/Privilege_(Computing)http://en.wikipedia.org/wiki/Privilege_(Computing)http://en.wikipedia.org/wiki/Securityhttp://en.wikipedia.org/wiki/Securityhttp://en.wikipedia.org/wiki/Data_securityhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=10http://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Digital_permanencehttp://en.wikipedia.org/wiki/Data_storage_devicehttp://en.wikipedia.org/wiki/Computer_storagehttp://en.wikipedia.org/wiki/Primary_storagehttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=11http://en.wikipedia.org/wiki/Database_query_languagehttp://en.wikipedia.org/wiki/Privilege_(Computing)http://en.wikipedia.org/wiki/Securityhttp://en.wikipedia.org/wiki/Data_security
  • 8/7/2019 Data base managment

    8/36

    [edit] Transaction mechanism

    A database transaction mechanism ideally guarantees ACID properties in order to ensuredata integrity despite concurrent user accesses (concurrency control), and faults (faulttolerance). It also maintains the integrity of the data in the database. The DBMS can

    maintain the integrity of the database by not allowing more than one user to update thesame record at the same time. The DBMS can help prevent duplicate records via uniqueindex constraints; for example, no two customers with the same customer numbers (keyfields) can be entered into the database. See ACIDproperties for more information(Redundancy avoidance).

    [edit] DBMS topics

    [edit] External, Logical and Internal view

    Traditional View of Data[4]

    A database management system provides the ability for many different users to share dataand process resources. But as there can be many different users, there are many differentdatabase needs. The question now is: How can a single, unified database meet thediffering requirement of so many users?

    A DBMS minimizes these problems by providing two views of the database data: anexternal view(or User view), logical view(or conceptual view)and physical(or internal)view. The users view, of a database program represents data in a format that is

    meaningful to a user and to the software programs that process those data.

    One strength of a DBMS is that while there is typically only one conceptual (or logical)and physical (or Internal) view of the data, there can be an endless number of differentExternal views. This feature allows users to see database information in a more business-related way rather than from a technical, processing viewpoint. Thus the logical viewrefers to the way user views data, and the physical view to the way the data are physicallystored and processed.

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=12http://en.wikipedia.org/wiki/Database_transactionhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/Data_integrityhttp://en.wikipedia.org/wiki/Concurrency_(computer_science)http://en.wikipedia.org/wiki/Concurrency_controlhttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Data_integrityhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=13http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=14http://en.wikipedia.org/wiki/Database_management_system#cite_note-ITL93-3http://en.wikipedia.org/wiki/File:A2_2_Traditional_View_of_Data.jpghttp://en.wikipedia.org/wiki/File:A2_2_Traditional_View_of_Data.jpghttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=12http://en.wikipedia.org/wiki/Database_transactionhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/Data_integrityhttp://en.wikipedia.org/wiki/Concurrency_(computer_science)http://en.wikipedia.org/wiki/Concurrency_controlhttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Data_integrityhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=13http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=14http://en.wikipedia.org/wiki/Database_management_system#cite_note-ITL93-3
  • 8/7/2019 Data base managment

    9/36

    [edit] DBMS features and capabilities

    Alternatively, and especially in connection with the relational model of databasemanagement, the relation between attributes drawn from a specified set of domains canbe seen as being primary. For instance, the database might indicate that a car that was

    originally "red" might fade to "pink" in time, provided it was of some particular "make"with an inferior paint job. Such higherarity relationships provide information on all ofthe underlying domains at the same time, with none of them being privileged above theothers.

    [edit] DBMS simple definition

    Data base management system is the system in which related data is stored in an"efficient" and "compact" manner. Efficient means that the data which is stored in theDBMS is accessed in very quick time and compact means that the data which is stored inDBMS covers very little space in the computer's memory. In the above definition the

    phrase "related data" is used which means that the data which is stored in the DBMS isabout some particular topic.

    Throughout recent history specialized databases have existed for scientific, geospatial,imaging, document storage and like uses. Functionality drawn from such applications haslately begun appearing in mainstream DBMSs as well. However, the main focus there, atleast when aimed at the commercial data processing market, is still on descriptiveattributes on repetitive record structures.

    Thus, the DBMSs of today roll together frequently needed services or features of attributemanagement. By externalizing such functionality to the DBMS, applications effectively

    share code with each other and are relieved of much internal complexity. Featurescommonly offered by database management systems include:

    Query abilityQuerying is the process of requesting attribute information from variousperspectives and combinations of factors. Example: "How many 2-door cars inTexas are green?" A database query language and report writer allow users tointeractively interrogate the database, analyze its data and update it according tothe users privileges on data.

    Backup and replicationCopies 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 distantorganization that cannot readily access the original. DBMS usually provideutilities to facilitate the process of extracting and disseminating attribute sets.When data is replicated between database servers, so that the information remainsconsistent throughout the database system and users cannot tell or even knowwhich server in the DBMS they are using, the system is said to exhibit replicationtransparency.

    Rule enforcement

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=15http://en.wikipedia.org/wiki/Relation_(database)http://en.wikipedia.org/wiki/Arityhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=16http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=15http://en.wikipedia.org/wiki/Relation_(database)http://en.wikipedia.org/wiki/Arityhttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=16
  • 8/7/2019 Data base managment

    10/36

    Often one wants to apply rules to attributes so that the attributes are clean andreliable. For example, we may have a rule that says each car can have only oneengine associated with it (identified by Engine Number). If somebody tries toassociate a second engine with a given car, we want the DBMS to deny such arequest and display an error message. However, with changes in the model

    specification such as, in this example, hybrid gas-electric cars, rules may need tochange. Ideally such rules should be able to be added and removed as neededwithout significant data layout redesign.

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

    ComputationThere 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 theDBMS to supply such calculations.Change and access logging

    Often one wants to know who accessed what attributes, what was changed, andwhen it was changed. Logging services allow this by keeping a record of accessoccurrences and changes.

    Automated optimizationIf there are frequently occurring usage patterns or requests, some DBMS canadjust themselves to improve the speed of those interactions. In some cases theDBMS will merely provide tools to monitor performance, allowing a humanexpert to make the necessary adjustments after reviewing the statistics collected.

    Bold text

    [edit] Meta-data repository

    Metadata is data describing data. For example, a listing that describes what attributes areallowed to be in data sets is called "meta-information". The meta-data is also known asdata about data.

    [edit] Current trends

    In 1998, database management was in need of new style databases to solve currentdatabase management problems. Researchers realized that the old trends of databasemanagement were becoming too complex and there was a need for automatedconfiguration and management [5]. Surajit Chaudhuri, Gerhard Weikum and MichaelStonebraker, were the pioneers that dramatically affected the thought of databasemanagement systems [5]. They believed that database management needed a moremodular approach and that there are so many specifications needs for various users[5].Since this new development process of database management we currently have endless

    http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=17http://en.wikipedia.org/wiki/Metadatahttp://en.wikipedia.org/wiki/Data_sethttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=18http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=17http://en.wikipedia.org/wiki/Metadatahttp://en.wikipedia.org/wiki/Data_sethttp://en.wikipedia.org/w/index.php?title=Database_management_system&action=edit&section=18http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4
  • 8/7/2019 Data base managment

    11/36

    possibilities. Database management is no longer limited to monolithic entities [5]. Manysolutions have developed to satisfy individual needs of users. Development of numerousdatabase options has created flexible solutions in database management.

    Today there are several ways database management has affected the technology world as

    we know it. Organizations demand for directory services has become an extremenecessity as organizations grow. Businesses are now able to use directory services thatprovided prompt searches for their company information[5]. Mobile devices are not onlyable to store contact information of users but have grown to bigger capabilities. Mobiletechnology is able to cache large information that is used for computers and is able todisplay it on smaller devices[5]. Web searches have even been affected with databasemanagement. Search engine queries are able to locate data within the World Wide Web[5]. Retailers have also benefited from the developments with data warehousing. Thesecompanies are able to record customer transactions made within their business[5]. Onlinetransactions have become tremendously popular with the e-business world. Consumersand businesses are able to make payments securely on company websites. None of these

    current developments would have been possible without the evolution of databasemanagement. Even with all the progress and current trends of database management,there will always be a need for new development as specifications and needs grow.

    As the speeds of consumer internet connectivity increase, and as data availability andcomputing become more ubiquitous, database are seeing migration to web services. Webbased languages such as XML and PHP are being used to process databases over webbased services. These languages allow databases to live in "the cloud." As with manyother products, such as Google's GMail, Microsoft's Office 2010, and Carbonite's onlinebackup services, many services are beginning to move to web based services due toincreasing internet reliability, data storage efficiency, and the lack of a need for dedicated

    IT staff to manage the hardware. Faculty at Rochester Institute of Technology published apaper regarding the use of databases in the cloud and state that their school plans to addcloud based database computing to their curriculum to "keep [their] informationtechnology (IT) curriculum at the forefront of technology.[6]

    Advanced DBMS: (i.e)D DBMS: Distributed Data Base Management System:Adistributed database is a collection of data which belong logically to the same system butare spread over the sites of the computer network.The two aspects of a distributeddatabase are :

    1.Distribution2.Logical correlation

    Distribution:The fact that the data are not resident at the same site,so that we candistinguish a distributed database from a single,centralized database. LogicalCorrelation:The fact that the data have some properties which tie them together,so thatwe can distinguish a distributed database from a set of local databases or files which areresident at different sites of a computer network.

    http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-5http://en.wikipedia.org/wiki/Database_management_system#cite_note-5http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-Seltzer2008-4http://en.wikipedia.org/wiki/Database_management_system#cite_note-5
  • 8/7/2019 Data base managment

    12/36

    Data structureFrom Wikipedia, the free encyclopediaJump to: navigation,search

    In computer science, a data structure is a particular way of storing and organizing data

    in a computerso that it can be used efficiently.[1][2]

    Different kinds of data structures are suited to different kinds of applications, and someare highly specialized to specific tasks. For example,B-treesare particularly well-suitedfor implementation of databases, while compilerimplementations usually use hash tablesto look up identifiers.

    Data structures are used in almost every program or software system. Specific datastructures are essential ingredients of many efficient algorithms, and make possible themanagement of huge amounts of data, such as large databasesandinternet indexingservices. Some formal design methods and programming languages emphasize data

    structures, rather than algorithms, as the key organizing factor in software design.

    Contents

    [hide]

    1 Basic principles 2 Abstract data structures 3 Language support 4 See also

    5 References

    6 External links

    [edit] Basic principles

    Data structures are generally based on the ability of a computer to fetch and store data atany place in its memory, specified by an address a bit string that can be itself stored inmemory and manipulated by the program. Thus therecordandarraydata structures arebased on computing the addresses of data items with arithmetic operations; while thelinked data structures are based on storing addresses of data items within the structure

    itself. Many data structures use both principles, sometimes combined in non-trivial ways(as inXOR linking).

    [edit] Abstract data structures

    http://en.wikipedia.org/wiki/Data_structure#mw-headhttp://en.wikipedia.org/wiki/Data_structure#mw-headhttp://en.wikipedia.org/wiki/Data_structure#p-searchhttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Algorithmic_efficiencyhttp://en.wikipedia.org/wiki/Data_structure#cite_note-0http://en.wikipedia.org/wiki/Data_structure#cite_note-0http://en.wikipedia.org/wiki/Data_structure#cite_note-1http://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Hash_tablehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Data_structure#Basic_principleshttp://en.wikipedia.org/wiki/Data_structure#Basic_principleshttp://en.wikipedia.org/wiki/Data_structure#Basic_principleshttp://en.wikipedia.org/wiki/Data_structure#Abstract_data_structureshttp://en.wikipedia.org/wiki/Data_structure#Abstract_data_structureshttp://en.wikipedia.org/wiki/Data_structure#Abstract_data_structureshttp://en.wikipedia.org/wiki/Data_structure#Language_supporthttp://en.wikipedia.org/wiki/Data_structure#Language_supporthttp://en.wikipedia.org/wiki/Data_structure#Language_supporthttp://en.wikipedia.org/wiki/Data_structure#See_alsohttp://en.wikipedia.org/wiki/Data_structure#See_alsohttp://en.wikipedia.org/wiki/Data_structure#See_alsohttp://en.wikipedia.org/wiki/Data_structure#Referenceshttp://en.wikipedia.org/wiki/Data_structure#Referenceshttp://en.wikipedia.org/wiki/Data_structure#Referenceshttp://en.wikipedia.org/wiki/Data_structure#External_linkshttp://en.wikipedia.org/wiki/Data_structure#External_linkshttp://en.wikipedia.org/wiki/Data_structure#External_linkshttp://en.wikipedia.org/w/index.php?title=Data_structure&action=edit&section=1http://en.wikipedia.org/wiki/Physical_addresshttp://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/Array_data_structurehttp://en.wikipedia.org/wiki/Array_data_structurehttp://en.wikipedia.org/wiki/Array_data_structurehttp://en.wikipedia.org/wiki/Linked_data_structurehttp://en.wikipedia.org/wiki/XOR_linked_listhttp://en.wikipedia.org/wiki/XOR_linked_listhttp://en.wikipedia.org/w/index.php?title=Data_structure&action=edit&section=2http://en.wikipedia.org/wiki/Data_structure#mw-headhttp://en.wikipedia.org/wiki/Data_structure#p-searchhttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Algorithmic_efficiencyhttp://en.wikipedia.org/wiki/Data_structure#cite_note-0http://en.wikipedia.org/wiki/Data_structure#cite_note-1http://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Hash_tablehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Data_structurehttp://en.wikipedia.org/wiki/Data_structure#Basic_principleshttp://en.wikipedia.org/wiki/Data_structure#Abstract_data_structureshttp://en.wikipedia.org/wiki/Data_structure#Language_supporthttp://en.wikipedia.org/wiki/Data_structure#See_alsohttp://en.wikipedia.org/wiki/Data_structure#Referenceshttp://en.wikipedia.org/wiki/Data_structure#External_linkshttp://en.wikipedia.org/w/index.php?title=Data_structure&action=edit&section=1http://en.wikipedia.org/wiki/Physical_addresshttp://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/Array_data_structurehttp://en.wikipedia.org/wiki/Linked_data_structurehttp://en.wikipedia.org/wiki/XOR_linked_listhttp://en.wikipedia.org/w/index.php?title=Data_structure&action=edit&section=2
  • 8/7/2019 Data base managment

    13/36

    The implementation of a data structure usually requires writing a set ofprocedures thatcreate and manipulate instances of that structure. The efficiency of a data structure cannotbe analyzed separately from those operations.

    This observation motivates the theoretical concept of an abstract data type, a data

    structure that is defined indirectly by the operations that may be performed on it, and themathematical properties of those operations (including their space and time cost).

    [edit] Language support

    Assembly languages and some low-level languages, such as BCPL, generally lacksupport for data structures. Many high-level programming languages, on the other hand,have special syntax or other built-in support for certain data structures, such as vectors(one-dimensional arrays) in the Clanguage, multi-dimensional arrays in Pascal, linkedlists in Common Lisp, and hash tables in Perl and inPython. Many languages alsoprovide basic facilities such asreferences and the definitionrecorddata types, that

    programmers can use to build arbitrarily complex structures.

    Most programming languages feature some sort of library mechanism that allows datastructure implementations to be reused by different programs. Modern languages usuallycome with standard libraries that implement the most common data structures. Examplesare the C++Standard Template Library, theJava Collections Framework, and Microsoft's.NET Framework.

    Modern languages also generally support modular programming, the separation betweenthe interface of a library module and its implementation. Some provide opaque data typesthat allow clients to hide implementation details.Object-oriented programming

    languages, such as C++,.NET FrameworkandJava, use classesfor this purpose.

    With the advent ofmulti-core processors, many known data structures have concurrentversions that allow multiple computing threads to access the data structuresimultaneously.

    Query languages are computer languagesused to make queries into databases andinformation systems.

    Broadly, query languages can be classified according to whether they are database querylanguages orinformation retrieval query languages. Examples include:

    .QL is a proprietary object-oriented query language for queryingrelationaldatabases; successor of Datalog;

    Common Query Language (CQL) a formal language for representing queries toinformation retrieval systems such as web indexes or bibliographic catalogues.

    CQLF (CODASYL Query Language, Flat) is a query language forCODASYL-type databases;

    http://en.wikipedia.org/wiki/Subroutinehttp://en.wikipedia.org/wiki/Abstract_data_typehttp://en.wikipedia.org/w/index.php?title=Data_structure&action=edit&section=3http://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/BCPLhttp://en.wikipedia.org/wiki/High-level_programming_languageshttp://en.wikipedia.org/wiki/Array_data_typehttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Pascal_(programming_language)http://en.wikipedia.org/wiki/Common_Lisphttp://en.wikipedia.org/wiki/Hash_tablehttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Reference_(computer_science)http://en.wikipedia.org/wiki/Reference_(computer_science)http://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Standard_Template_Libraryhttp://en.wikipedia.org/wiki/Java_Collections_Frameworkhttp://en.wikipedia.org/wiki/Java_Collections_Frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Modular_programminghttp://en.wikipedia.org/wiki/Modular_programminghttp://en.wikipedia.org/wiki/Interface_(computing)http://en.wikipedia.org/wiki/Opaque_data_typehttp://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Multi-corehttp://en.wikipedia.org/wiki/Concurrent_data_structurehttp://en.wikipedia.org/wiki/Computer_languagehttp://en.wikipedia.org/wiki/Computer_languagehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Information_systemhttp://en.wikipedia.org/wiki/Information_retrieval_query_languagehttp://en.wikipedia.org/wiki/.QLhttp://en.wikipedia.org/wiki/.QLhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Common_Query_Languagehttp://en.wikipedia.org/wiki/Common_Query_Languagehttp://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/CODASYLhttp://en.wikipedia.org/wiki/Subroutinehttp://en.wikipedia.org/wiki/Abstract_data_typehttp://en.wikipedia.org/w/index.php?title=Data_structure&action=edit&section=3http://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/BCPLhttp://en.wikipedia.org/wiki/High-level_programming_languageshttp://en.wikipedia.org/wiki/Array_data_typehttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Pascal_(programming_language)http://en.wikipedia.org/wiki/Common_Lisphttp://en.wikipedia.org/wiki/Hash_tablehttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Reference_(computer_science)http://en.wikipedia.org/wiki/Record_(computer_science)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Standard_Template_Libraryhttp://en.wikipedia.org/wiki/Java_Collections_Frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Modular_programminghttp://en.wikipedia.org/wiki/Interface_(computing)http://en.wikipedia.org/wiki/Opaque_data_typehttp://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Multi-corehttp://en.wikipedia.org/wiki/Concurrent_data_structurehttp://en.wikipedia.org/wiki/Computer_languagehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Information_systemhttp://en.wikipedia.org/wiki/Information_retrieval_query_languagehttp://en.wikipedia.org/wiki/.QLhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Common_Query_Languagehttp://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/CODASYL
  • 8/7/2019 Data base managment

    14/36

  • 8/7/2019 Data base managment

    15/36

    Queries

    The most common operation in SQL is the query, which is performed with thedeclarative SELECT statement. SELECT retrieves data from one or more tables, or

    expressions. Standard SELECT statements have no persistent effects on the database.

    Some non-standard implementations ofSELECT can have persistent effects, such as theSELECT INTO syntax that exists in some databases.[10]

    Queries allow the user to describe desired data, leaving thedatabase management system(DBMS) responsible forplanning, optimizing, and performing the physical operationsnecessary to produce that result as it chooses.

    A query includes a list of columns to be included in the final result immediatelyfollowing the SELECT keyword. An asterisk ("*") can also be used to specify that the

    query should return all columns of the queried tables. SELECT is the most complex

    statement in SQL, with optional keywords and clauses that include:

    The FROM clause which indicates the table(s) from which data is to be retrieved.

    The FROM clause can include optional JOIN subclauses to specify the rules for

    joining tables. The WHERE clause includes a comparison predicate, which restricts the rows

    returned by the query. The WHERE clause eliminates all rows from the result set for

    which the comparison predicate does not evaluate to True. The GROUP BY clause is used to project rows having common values into a

    smaller set of rows. GROUP BY is often used in conjunction with SQL aggregation

    functions or to eliminate duplicate rows from a result set. The WHERE clause is

    applied before the GROUP BY clause.

    The HAVING clause includes a predicate used to filter rows resulting from theGROUP BY clause. Because it acts on the results of the GROUP BY clause,

    aggregation functions can be used in the HAVING clause predicate.

    The ORDER BY clause identifies which columns are used to sort the resulting data,

    and in which direction they should be sorted (options are ascending ordescending). Without an ORDER BY clause, the order of rows returned by an SQL

    query is undefined.

    The following is an example of a SELECT query that returns a list of expensive books. The

    query retrieves all rows from the Booktable in which the price column contains a valuegreater than 100.00. The result is sorted in ascending order by title. The asterisk (*) in the

    select listindicates that all columns of the Booktable should be included in the result set.

    SELECT *FROM Book

    WHERE price > 100.00ORDER BY title;

    http://en.wikipedia.org/wiki/Select_(SQL)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/SQL#cite_note-ms-sql-select-into-9http://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Query_planhttp://en.wikipedia.org/wiki/Query_optimizerhttp://en.wikipedia.org/wiki/From_(SQL)http://en.wikipedia.org/wiki/Join_(SQL)http://en.wikipedia.org/wiki/Where_(SQL)http://en.wikipedia.org/wiki/Group_by_(SQL)http://en.wikipedia.org/wiki/Having_(SQL)http://en.wikipedia.org/wiki/Order_by_(SQL)http://en.wikipedia.org/wiki/Select_(SQL)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/SQL#cite_note-ms-sql-select-into-9http://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Query_planhttp://en.wikipedia.org/wiki/Query_optimizerhttp://en.wikipedia.org/wiki/From_(SQL)http://en.wikipedia.org/wiki/Join_(SQL)http://en.wikipedia.org/wiki/Where_(SQL)http://en.wikipedia.org/wiki/Group_by_(SQL)http://en.wikipedia.org/wiki/Having_(SQL)http://en.wikipedia.org/wiki/Order_by_(SQL)
  • 8/7/2019 Data base managment

    16/36

    The example below demonstrates a query of multiple tables, grouping, and aggregation,by returning a list of books and the number of authors associated with each book.

    SELECT Book.title,count(*) AS Authors

    FROM Book JOIN Book_author

    ON Book.isbn = Book_author.isbnGROUP BY Book.title;

    Example output might resemble the following:

    Title Authors

    ---------------------- -------SQL Examples and Guide 4

    The Joy of SQL 1An Introduction to SQL 2

    Pitfalls of SQL 1

    Under the precondition that isbn is the only common column name of the two tables andthat a column named title only exists in the Books table, the above query could berewritten in the following form:

    SELECT title,

    count(*) AS AuthorsFROM Book NATURAL JOIN Book_author

    GROUP BY title;

    However, many vendors either do not support this approach, or require certain columnnaming conventions in order for natural joins to work effectively.

    SQL includes operators and functions for calculating values on stored values. SQL allowsthe use of expressions in the select listto project data, as in the following example whichreturns a list of books that cost more than 100.00 with an additional sales_tax columncontaining a sales tax figure calculated at 6% of the price.

    SELECT isbn,

    title,

    price,

    price * 0.06 AS sales_taxFROM Book

    WHERE price > 100.00ORDER BY title;

    An XML database is a data persistencesoftware system that allows data to be stored inXML format. This data can then bequeried, exported and serialized into the desiredformat.

    Two major classes of XML database exist:

    http://en.wikipedia.org/wiki/Data_persistencehttp://en.wikipedia.org/wiki/Data_persistencehttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/Data_persistencehttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/XQuery
  • 8/7/2019 Data base managment

    17/36

    1. XML-enabled: these map all XML to a traditional database (such as a relationaldatabase[1]), accepting XML as input and rendering XML as output. This termimplies that the database does the conversion itself (as opposed to relying onmiddleware).

    2. Native XML (NXD): the internal model of such databases depends on XML and

    uses XML documents as the fundamental unit of storage, which are, however, notnecessarily stored in the form of text files.

    Data Mining Extensions (DMX) is a query language forData MiningModels, much likeSQL is a query language forrelational databases and MDXis a query language forOLAPdatabases. DMX syntax is more similar to SQL than MDX.

    Data Definition Language

    Data Definition Language (DDL) part of DMX can be used to

    Create new data mining models and mining structures - CREATE MININGSTRUCTURE, CREATE MINING MODEL

    Delete existing data mining models and mining structures - DROP MININGSTRUCTURE, DROP MINING MODEL

    Export and import mining structures - EXPORT, IMPORT

    Copy data from one mining model to another - SELECT INTO

    [edit] Data Manipulation Language

    Data Manipulation Language (DML) part of DMX can be used to

    Train mining models - INSERT INTO

    Browse data in mining models - SELECT FROM

    Make predictions using mining model - SELECT ... FROM PREDICTION JOIN

    [edit] Example of prediction query

    This example is a singleton prediction query, which predicts for the given customerwhether she will be interested in the home loan products.

    SELECT

    [Loan Seeker],PredictProbability([Loan Seeker])

    FROM

    [Decision Tree]NATURAL PREDICTION JOIN

    (SELECT35 AS [Age],

    'Y' AS [House Owner],

    'M' AS [Marital Status],

    'F' AS [Gender],

    http://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/XML_database#cite_note-0http://en.wikipedia.org/wiki/Middlewarehttp://en.wikipedia.org/wiki/Data_Mininghttp://en.wikipedia.org/wiki/Data_Mininghttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Relational_databaseshttp://en.wikipedia.org/wiki/Multidimensional_Expressionshttp://en.wikipedia.org/wiki/Multidimensional_Expressionshttp://en.wikipedia.org/wiki/OLAPhttp://en.wikipedia.org/w/index.php?title=Data_Mining_Extensions&action=edit&section=2http://en.wikipedia.org/w/index.php?title=Data_Mining_Extensions&action=edit&section=3http://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/XML_database#cite_note-0http://en.wikipedia.org/wiki/Middlewarehttp://en.wikipedia.org/wiki/Data_Mininghttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Relational_databaseshttp://en.wikipedia.org/wiki/Multidimensional_Expressionshttp://en.wikipedia.org/wiki/OLAPhttp://en.wikipedia.org/w/index.php?title=Data_Mining_Extensions&action=edit&section=2http://en.wikipedia.org/w/index.php?title=Data_Mining_Extensions&action=edit&section=3
  • 8/7/2019 Data base managment

    18/36

    2 AS [Number Cars Owned],

    2 AS [Total Children],

    18 AS [Total Years of Education])

    n the industrial designfield ofhuman-machine interaction, the user interface is (a place)where interaction between humans and machines occurs. The goal of interaction betweena human and a machine at the user interface is effective operation and control of themachine, and feedback from the machine which aids the operator in making operationaldecisions. Examples of this broad concept of user interfaces include the interactiveaspects of computeroperating systems, handtools, heavy machineryoperator controls.andprocess controls. The design considerations applicable when creating user interfacesare related to or involve such disciplines as ergonomics and psychology.

    A user interface is the system by which people (users) interact with amachine. The userinterface includes hardware (physical) and software (logical) components. User interfaces

    exist for various systems, and provide a means of:

    Input, allowing the users to manipulate a system, and/or Output, allowing the system to indicate the effects of the users' manipulation.

    Generally, the goal ofhuman-machine interactionengineering is to produce a userinterface which makes it easy, efficient, enjoyable to operate a machine in the way whichproduces the desired result. This generally means that the operator needs to provideminimal input to achieve the desired output, and also that the machine minimizesundesired outputs to the human.

    Ever since the increased use ofpersonal computers and the relative decline in societalawareness ofheavy machinery, the term user interface has taken on overtones of the(graphical) user interface, while industrial control panel and machinery control designdiscussions more commonly refer to human-machine interfaces.

    Other terms foruser interface include human-computer interface (HCI) and man-machine interface (MMI).

    Contents

    [hide]

    1 Introduction 2 Terminology 3 Usability 4 Consistency 5 User interfaces in computing

    o 5.1 Types

    o 5.2 History

    http://en.wikipedia.org/wiki/Industrial_designhttp://en.wikipedia.org/wiki/Industrial_designhttp://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Toolshttp://en.wikipedia.org/wiki/Toolshttp://en.wikipedia.org/wiki/Heavy_machineryhttp://en.wikipedia.org/wiki/Heavy_machineryhttp://en.wikipedia.org/wiki/Unit_operationhttp://en.wikipedia.org/wiki/Unit_operationhttp://en.wikipedia.org/wiki/Ergonomicshttp://en.wikipedia.org/wiki/Psychologyhttp://en.wikipedia.org/wiki/User_(computing)http://en.wikipedia.org/wiki/Interactionhttp://en.wikipedia.org/wiki/Machinehttp://en.wikipedia.org/wiki/Machinehttp://en.wikipedia.org/wiki/Machinehttp://en.wikipedia.org/wiki/Systemhttp://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Personal_computerhttp://en.wikipedia.org/wiki/Heavy_machineryhttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Human-machine_interfacehttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/User_interface#Introductionhttp://en.wikipedia.org/wiki/User_interface#Introductionhttp://en.wikipedia.org/wiki/User_interface#Introductionhttp://en.wikipedia.org/wiki/User_interface#Terminologyhttp://en.wikipedia.org/wiki/User_interface#Terminologyhttp://en.wikipedia.org/wiki/User_interface#Terminologyhttp://en.wikipedia.org/wiki/User_interface#Usabilityhttp://en.wikipedia.org/wiki/User_interface#Usabilityhttp://en.wikipedia.org/wiki/User_interface#Usabilityhttp://en.wikipedia.org/wiki/User_interface#Consistencyhttp://en.wikipedia.org/wiki/User_interface#Consistencyhttp://en.wikipedia.org/wiki/User_interface#Consistencyhttp://en.wikipedia.org/wiki/User_interface#User_interfaces_in_computinghttp://en.wikipedia.org/wiki/User_interface#User_interfaces_in_computinghttp://en.wikipedia.org/wiki/User_interface#User_interfaces_in_computinghttp://en.wikipedia.org/wiki/User_interface#Typeshttp://en.wikipedia.org/wiki/User_interface#Typeshttp://en.wikipedia.org/wiki/User_interface#Typeshttp://en.wikipedia.org/wiki/User_interface#Historyhttp://en.wikipedia.org/wiki/User_interface#Historyhttp://en.wikipedia.org/wiki/User_interface#Historyhttp://en.wikipedia.org/wiki/Industrial_designhttp://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Toolshttp://en.wikipedia.org/wiki/Heavy_machineryhttp://en.wikipedia.org/wiki/Unit_operationhttp://en.wikipedia.org/wiki/Ergonomicshttp://en.wikipedia.org/wiki/Psychologyhttp://en.wikipedia.org/wiki/User_(computing)http://en.wikipedia.org/wiki/Interactionhttp://en.wikipedia.org/wiki/Machinehttp://en.wikipedia.org/wiki/Systemhttp://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Personal_computerhttp://en.wikipedia.org/wiki/Heavy_machineryhttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Human-machine_interfacehttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/User_interface#Introductionhttp://en.wikipedia.org/wiki/User_interface#Terminologyhttp://en.wikipedia.org/wiki/User_interface#Usabilityhttp://en.wikipedia.org/wiki/User_interface#Consistencyhttp://en.wikipedia.org/wiki/User_interface#User_interfaces_in_computinghttp://en.wikipedia.org/wiki/User_interface#Typeshttp://en.wikipedia.org/wiki/User_interface#History
  • 8/7/2019 Data base managment

    19/36

    o 5.3 Modalities and modes

    6 See also 7 References

    8 External links

    [edit] Introduction

    Main article: Human-computer interaction

    To work with a system, users have to be able to control and assess the state of the system.For example, when driving an automobile, the driver uses the steering wheel to controlthe direction of the vehicle, and the accelerator pedal, brake pedal and gearstick to controlthe speed of the vehicle. The driver perceives the position of the vehicle by lookingthrough the windshield and exact speed of the vehicle by reading thespeedometer. Theuser interface of the automobile is on the whole composed of theinstruments the driver

    can use to accomplish the tasks of driving and maintaining the automobile.

    [edit] Terminology

    There is a distinct difference between User Interface versus Operator Interface orHuman Machine Interface (HMI).

    The term user interface is often used in the context of (personal) computersystems and electronic devices

    o Where a network of equipment or computers are interlinked through an

    MES (Manufacturing Execution System)-or Host.o An HMI is typically local to one machine or piece of equipment, and is the

    interface method between the human and the equipment/machine. AnOperator interface is the interface method by which multiple equipmentthat are linked by a host control system is accessed or controlled. [clarificationneeded]

    o The system may expose several user interfaces to serve different kinds of

    users. For example, a computerizedlibrarydatabase might provide twouser interfaces, one for library patrons (limited set of functions, optimizedfor ease of use) and the other for library personnel (wide set of functions,optimized for efficiency).[clarification needed]

    The user interface of a mechanical system, a vehicle or an industrialinstallation is sometimes referred to as the human-machine interface (HMI).HMI is a modification of the original term MMI (man-machine interface). Inpractice, the abbreviation MMI is still frequently used although some may claimthat MMI stands for something different now. Another abbreviation isHCI, but ismore commonly used for than human-computerinterface . Other terms used areoperator interface console (OIC) and operator interface terminal (OIT). However

    http://en.wikipedia.org/wiki/User_interface#Modalities_and_modeshttp://en.wikipedia.org/wiki/User_interface#Modalities_and_modeshttp://en.wikipedia.org/wiki/User_interface#Modalities_and_modeshttp://en.wikipedia.org/wiki/User_interface#See_alsohttp://en.wikipedia.org/wiki/User_interface#See_alsohttp://en.wikipedia.org/wiki/User_interface#See_alsohttp://en.wikipedia.org/wiki/User_interface#Referenceshttp://en.wikipedia.org/wiki/User_interface#Referenceshttp://en.wikipedia.org/wiki/User_interface#Referenceshttp://en.wikipedia.org/wiki/User_interface#External_linkshttp://en.wikipedia.org/wiki/User_interface#External_linkshttp://en.wikipedia.org/wiki/User_interface#External_linkshttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=1http://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Automobilehttp://en.wikipedia.org/wiki/Automobilehttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Speedometerhttp://en.wikipedia.org/wiki/Speedometerhttp://en.wikipedia.org/wiki/Speedometerhttp://en.wikipedia.org/wiki/List_of_vehicle_instrumentshttp://en.wikipedia.org/wiki/List_of_vehicle_instrumentshttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=2http://en.wikipedia.org/wiki/Electronicshttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Computerizedhttp://en.wikipedia.org/wiki/Libraryhttp://en.wikipedia.org/wiki/Libraryhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Machinehttp://en.wikipedia.org/wiki/Industryhttp://en.wikipedia.org/wiki/MMIhttp://en.wikipedia.org/wiki/HCIhttp://en.wikipedia.org/wiki/HCIhttp://en.wikipedia.org/wiki/HCIhttp://en.wikipedia.org/wiki/Human-computer_interfacehttp://en.wikipedia.org/wiki/Human-computer_interfacehttp://en.wikipedia.org/wiki/Human-computer_interfacehttp://en.wikipedia.org/wiki/Human-computer_interfacehttp://en.wikipedia.org/wiki/User_interface#Modalities_and_modeshttp://en.wikipedia.org/wiki/User_interface#See_alsohttp://en.wikipedia.org/wiki/User_interface#Referenceshttp://en.wikipedia.org/wiki/User_interface#External_linkshttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=1http://en.wikipedia.org/wiki/Human-computer_interactionhttp://en.wikipedia.org/wiki/Automobilehttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Speedometerhttp://en.wikipedia.org/wiki/List_of_vehicle_instrumentshttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=2http://en.wikipedia.org/wiki/Electronicshttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Computerizedhttp://en.wikipedia.org/wiki/Libraryhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Machinehttp://en.wikipedia.org/wiki/Industryhttp://en.wikipedia.org/wiki/MMIhttp://en.wikipedia.org/wiki/HCIhttp://en.wikipedia.org/wiki/Human-computer_interface
  • 8/7/2019 Data base managment

    20/36

    it is abbreviated, the terms refer to the 'layer' that separates a human that isoperating a machine from the machine itself.

    In science fiction, HMI is sometimes used to refer to what is better described as directneural interface. However, this latter usage is seeing increasing application in the real-

    life use of (medical) prosthesesthe artificial extension that replaces a missing body part(e.g., cochlear implants).

    In some circumstance computers might observe the user, and react according to theiractions without specific commands. A means of tracking parts of the body is required,and sensors noting the position of the head, direction of gaze and so on have been usedexperimentally. This is particularly relevant toimmersive interfaces.

    [edit] Usability

    Main article: Usability

    User interfaces are considered by some authors to be a prime ingredient ofComputer usersatisfaction.

    The design of a user interface affects the amount of effort the user must expend toprovide input for the system and to interpret the output of the system, and how mucheffort it takes to learn how to do this. Usability is the degree to which the design of aparticular user interface takes into account the human psychologyandphysiology of theusers, and makes the process of using the system effective, efficient and satisfying.

    Usability is mainly a characteristic of the user interface, but is also associated with the

    functionalities of the product and the process to design it. It describes how well a productcan be used for its intended purpose by its target users with efficiency, effectiveness, andsatisfaction, also taking into account the requirements from its context of use.

    See also: mental model, human action cycle, usability testing, andergonomics.List of human-computer interaction topics

    [edit] Consistency

    This section does notcite any references or sources.Please helpimprove this articleby adding citations to reliable sources. Unsourced material maybe challenged andremoved.(February 2010)

    A key property of a good user interface is consistency. There are three important aspects.[1][dubiousdiscuss]

    First, the controls for different features should be presented in a consistent manner so thatusers can find the controls easily.[clarification needed] For example, users find it verydifficult[citation needed] to use software when some commands are available through menus,

    http://en.wikipedia.org/wiki/Science_fictionhttp://en.wikipedia.org/wiki/Direct_neural_interfacehttp://en.wikipedia.org/wiki/Direct_neural_interfacehttp://en.wikipedia.org/wiki/Prostheseshttp://en.wikipedia.org/wiki/Cochlear_implantshttp://en.wikipedia.org/wiki/Immersive_digital_environmenthttp://en.wikipedia.org/wiki/Immersive_digital_environmenthttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=3http://en.wikipedia.org/wiki/Usabilityhttp://en.wikipedia.org/wiki/Computer_user_satisfactionhttp://en.wikipedia.org/wiki/Computer_user_satisfactionhttp://en.wikipedia.org/wiki/Interaction_designhttp://en.wikipedia.org/wiki/Usabilityhttp://en.wikipedia.org/wiki/Psychologyhttp://en.wikipedia.org/wiki/Psychologyhttp://en.wikipedia.org/wiki/Physiologyhttp://en.wikipedia.org/wiki/Physiologyhttp://en.wikipedia.org/wiki/Mental_modelhttp://en.wikipedia.org/wiki/Human_action_cyclehttp://en.wikipedia.org/wiki/Usability_testinghttp://en.wikipedia.org/wiki/Usability_testinghttp://en.wikipedia.org/wiki/Ergonomicshttp://en.wikipedia.org/wiki/Ergonomicshttp://en.wikipedia.org/wiki/List_of_human-computer_interaction_topicshttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=4http://en.wikipedia.org/wiki/Wikipedia:Citing_sourceshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sourceshttp://en.wikipedia.org/wiki/Wikipedia:Verifiabilityhttp://en.wikipedia.org/w/index.php?title=User_interface&action=edithttp://en.wikipedia.org/w/index.php?title=User_interface&action=edithttp://en.wikipedia.org/w/index.php?title=User_interface&action=edithttp://en.wikipedia.org/wiki/Wikipedia:Reliable_sourceshttp://en.wikipedia.org/wiki/Wikipedia:Reliable_sourceshttp://en.wikipedia.org/wiki/Template:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Verifiability#Burden_of_evidencehttp://en.wikipedia.org/wiki/Wikipedia:Verifiability#Burden_of_evidencehttp://en.wikipedia.org/wiki/Wikipedia:Verifiability#Burden_of_evidencehttp://en.wikipedia.org/wiki/User_interface#cite_note-0http://en.wikipedia.org/wiki/Wikipedia:Disputed_statementhttp://en.wikipedia.org/wiki/Wikipedia:Disputed_statementhttp://en.wikipedia.org/wiki/Wikipedia:Disputed_statementhttp://en.wikipedia.org/wiki/Talk:User_interface#source_for_consistencyhttp://en.wikipedia.org/wiki/Talk:User_interface#source_for_consistencyhttp://en.wikipedia.org/wiki/Talk:User_interface#source_for_consistencyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Science_fictionhttp://en.wikipedia.org/wiki/Direct_neural_interfacehttp://en.wikipedia.org/wiki/Direct_neural_interfacehttp://en.wikipedia.org/wiki/Prostheseshttp://en.wikipedia.org/wiki/Cochlear_implantshttp://en.wikipedia.org/wiki/Immersive_digital_environmenthttp://en.wikipedia.org/w/index.php?title=User_interface&action=edit&section=3http://en.wikipedia.org/wiki/Usabilityhttp://en.wikipedia.org/wiki/Computer_user_satisfactionhttp://en.wikipedia.org/wiki/Computer_user_satisfactionhttp://en.wikipedia.org/wiki/Interaction_designhttp://en.wikipedia.org/wiki/Usabilityhttp://en.wikipedia.org/wiki/Psychologyhttp://en.wikipedia.org/wiki/Physiologyhttp://en.wikipedia.org/wiki/Mental_modelhttp://en.wikipedia.org/