A. WHAT IS RELATIONAL DATABASE MANAGEMENT SYSTEM?
ans: a database management system (DBMS) that is based on the relational model. Most popular commercial and open source databases currently in use are based on the relational model.
A short definition of an RDBMS may be a DBMS in which data is stored in the form of tables and the relationship among the data is also stored in the form of tables.
A relational database aims to achieve normalization of data. Normalization helps to reduce redundancy and update anomalies.
B. Define:
1. Key Fields
ans: A key field is a field or set of fields of a database (typically a relational database) table which together form a unique identifier for a database record (a table entry). The aggregate of these fields is usually referred to simply as "the key".
2. Database Records
ans: DB records contain two parts — a key and some data. Both the key and its corresponding data are encapsulated in DatabaseEntry class objects. Therefore, to access a DB record, you need two such objects, one for the key and one for the data.
3. Data Queries
ans: Data queries are not a replacement for data input methods.Instead they provide an easy way to query, or list data based upon an index, making the data easier to graph.
4. Data Types
ans: A data type (or data-type) is a set of values and the operations on those values.
5. Data Forms
ans: forms provide a quick and easy way to modify and insert records into your databases. They offer an intuitive, graphical environment easily navigated by anyone familiar with standard computer techniques.
6. Tables/Database Files
ans: file database describes any of various means to encode a database model (most commonly a table) as a plain text file.
7. Relationships
ans: Database relationships
Several types of relationships can be defined in a database. Consider the possible relationships between employees and departments.
One-to-many and many-to-one relationships
An employee can work in only one department; this relationship is single-valued for employees. On the other hand, one department can have many employees; this relationship is multi-valued for departments. The relationship between employees (single-valued) and departments (multi-valued) is a one-to-many relationship.
To define tables for each one-to-many and each many-to-one relationship:
1. Group all the relationships for which the "many" side of the relationship is the same entity.
2. Define a single table for all the relationships in the group.
Many-to-many relationships
A relationship that is multi-valued in both directions is a many-to-many relationship.
One-to-one relationships
One-to-one relationships are single-valued in both directions.
Sunday, August 16, 2009
Wednesday, July 1, 2009
MY_ASSIGNMNT
Data Type- is a kind of data, that is, a set of possible values and basic operations on those values. This contains articles and subcategories about data types generally and about specific, commonly-used data types.
A) What are they and what role do they play in a database?
*Abstract data type (ADT) is a mathematical model for a certain class of data structures that have similar behavior; or for certain data type of one or more programming languages that have similar semantics. An ADT is defined indirectly, only by the operations that may be performed on it and by mathematical constraints on the effects (and possibly cost) of those operations .
For example, an abstract stack data structure could be defined by two operations: push, that inserts some data item into the structure, and pop, that extracts an item from it; with the constraint that each pop always returns the most recently pushed item that has not been popped yet. When analyzing the efficiency of algorithms that use stacks, one may also specify that both operations take the same time no matter how many items have been pushed into the stack, and that the stack uses a constant amount of storage for each element. ADTs are purely theoretical entities, used (among other things) to simplify the description of abstract algorithms, to classify and evaluate data structures, and to formally describe the type systems of programming languages. However, an ADT may be implemented by specific data types or data structures, in many ways and in many programming languages; or described in a formal specification language. ADTs are often implemented as modules: the module's interface declares procedures that correspond to the ADT operations, sometimes with comments that describe the constraints. This information hiding strategy allows the implementation of the module to be changed without disturbing the client programs. Abstract data types are also an important conceptual tool in object-oriented programming and design by contract methodologies for software development.
*Algebraic Data Type (sometimes also called a variant type) is a datatype each of whose values is data from other datatypes wrapped in one of the constructors of the datatype. Any wrapped datum is an argument to the constructor. In contrast to other datatypes, the constructor is not executed and the only way to operate on the data is to unwrap the constructor using pattern matching.
The most common algebraic data type is a list with two constructors: Nil or [] for an empty list, and Cons (an abbreviation of constructor), ::, or : for the combination of a new element with a shorter list (for example (Cons 1 '(2 3 4)) or 1:[2,3,4]).
Special cases of algebraic types are product types , records (only one constructor), sum types or tagged unions (many constructors with a single argument) and enumerated types (many constructors with no arguments). Algebraic types are one kind of composite type (i.e. a type formed by combining other types).
An algebraic data type may also be an abstract data type (ADT) if it is exported from a module without its constructors. Values of such a type can only be manipulated using functions defined in the same module as the type itself.
*Composite Data Types are data types which can be constructed in a program using its programming language's primitive data types and other composite types. The act of constructing a composite type is known as composition.It is constructed from primitive and composite types, and can serve as types themselves when constructing composite types.
*Primitive Data Type can refer to either of the following concepts.It is
* a basic type is a data type provided by a programming language as a basic building block. Most languages allow more complicated composite types to be recursively constructed starting from basic types.
* a built-in type is a data type for which the programming language provides built-in support.
* Recursive Data Type (also known as a recursively-defined, inductively-defined or inductive data type) is a data type for values that may contain other values of the same type. Data of recursive types are usually viewed as directed graphs.Sometimes the term "inductive data type" is used for algebraic data types which are not necessarily recursive.
* Boolean or Logical Data Type is a primitive data type having one of two values: true or false, intended to represent the truth values of logic and Boolean algebra.In programming languages that have a built-in Boolean data type, such as Pascal and Java, the comparison operators such as '>' and '≠' are usually defined to return a Boolean value. Also, conditional and iterative commands may be defined to test Boolean-valued expressions.
Languages without an explicit Boolean data type, like C and Lisp, may still represent truth values it by some other data type. Lisp uses an empty list for false, and any other value for true. C uses an integer type, with false represented as the zero value, and true as any non-zero value (such as 1 or -1). Indeed, a Boolean variable may be regarded (and be implemented) as a numerical variable with a single binary digit (bit), which can store only two values.
*Ordinal Data Type is a data type with the property that its values can be counted. That is, the values can be put in a one-to-one correspondence with the positive integers. For example, strings are ordinal because we can call 'A' the first character, 'B' the second, etc. The term is often used in programming for variables that can take one of a finite (often small) number of values. While the values are often implemented as integers (or similar types such as bytes) they are assigned literal names and the programming language (and the compiler for that language) can enforce that variables only be assigned those literals.
*Real Data Type is a data type used in a computer program to represent an approximation of a real number. Because the real numbers are not countable, computers cannot represent them exactly using a finite amount of information. Most often, a computer will use a rational approximation to a real number.
B)Innumerate at least three DBMS Software.
A database is an integrated collection of logically related records or files that is stored in a computer system.. It consolidates records previously stored in separate files into a common pool of data records that provides data for many applications. The structure is achieved by organizing the data according to a database model. The model that is most commonly used today is the relational model. Other models such as the hierarchical model and the network model use a more explicit representation of relationships.
1)Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software development tools. It is a member of the Microsoft Office suite of applications and is included in the Professional and higher versions for Windows and also sold separately. There is no version for MacOS or for Microsoft Office Mobile. Access stores data in its own format based on the Access Jet Database Engine. It can also import or link directly to data stored in other Access databases, Excel, SharePoint lists, text, XML, Outlook, HTML, dBase, Paradox, Lotus 1-2-3, or any ODBC-compliant data container including Microsoft SQL Server, Oracle, MySQL and PostgreSQL. Software developers and data architects can use it to develop application software and non-programmer "power users" can use it to build simple applications. It supports some object-oriented techniques but falls short of being a fully object-oriented development tool.
2)CSQL is an open source main memory high-performance relational database management system developed in sourceforge.net. It is designed to provide high performance on simple SQL queries and DML statements.This is mainly developed to be used as a cache for existing disk based commercial databases. Main Memory databases performs 10-20 times faster than the commercial database systems, as it completely keeps the database in main memory.
3)Visual FoxPro is a data-centric object-oriented and procedural programming language produced by Microsoft. It is derived from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Fox Technologies merged with Microsoft in 1992, after which the software acquired further features and the prefix "Visual". The last version of FoxPro (2.6) worked under Mac OS, DOS, Windows, and Unix: Visual FoxPro 3.0, the first "Visual" version, dropped the platform support to only Mac and Windows, and later versions were Windows-only. The current version of Visual FoxPro is COM-based and Microsoft has stated that they do not intend to create a Microsoft .NET version.
FoxPro originated as a member of the class of languages commonly referred to as "xBase" languages, which have syntax based on the dBase programming language. Other members of the xBase language family include Clipper and Recital. (A history of the early years of xBase can be found in the dBase entry.)
Visual FoxPro, commonly abbreviated as VFP, is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL query and data manipulation. Unlike most database management systems, Visual FoxPro is a full-featured, dynamic programming language that does not require the use of an additional general-purpose programming environment. It can be used to write not just traditional "fat client" applications, but also middleware and web applications.
A) What are they and what role do they play in a database?
*Abstract data type (ADT) is a mathematical model for a certain class of data structures that have similar behavior; or for certain data type of one or more programming languages that have similar semantics. An ADT is defined indirectly, only by the operations that may be performed on it and by mathematical constraints on the effects (and possibly cost) of those operations .
For example, an abstract stack data structure could be defined by two operations: push, that inserts some data item into the structure, and pop, that extracts an item from it; with the constraint that each pop always returns the most recently pushed item that has not been popped yet. When analyzing the efficiency of algorithms that use stacks, one may also specify that both operations take the same time no matter how many items have been pushed into the stack, and that the stack uses a constant amount of storage for each element. ADTs are purely theoretical entities, used (among other things) to simplify the description of abstract algorithms, to classify and evaluate data structures, and to formally describe the type systems of programming languages. However, an ADT may be implemented by specific data types or data structures, in many ways and in many programming languages; or described in a formal specification language. ADTs are often implemented as modules: the module's interface declares procedures that correspond to the ADT operations, sometimes with comments that describe the constraints. This information hiding strategy allows the implementation of the module to be changed without disturbing the client programs. Abstract data types are also an important conceptual tool in object-oriented programming and design by contract methodologies for software development.
*Algebraic Data Type (sometimes also called a variant type) is a datatype each of whose values is data from other datatypes wrapped in one of the constructors of the datatype. Any wrapped datum is an argument to the constructor. In contrast to other datatypes, the constructor is not executed and the only way to operate on the data is to unwrap the constructor using pattern matching.
The most common algebraic data type is a list with two constructors: Nil or [] for an empty list, and Cons (an abbreviation of constructor), ::, or : for the combination of a new element with a shorter list (for example (Cons 1 '(2 3 4)) or 1:[2,3,4]).
Special cases of algebraic types are product types , records (only one constructor), sum types or tagged unions (many constructors with a single argument) and enumerated types (many constructors with no arguments). Algebraic types are one kind of composite type (i.e. a type formed by combining other types).
An algebraic data type may also be an abstract data type (ADT) if it is exported from a module without its constructors. Values of such a type can only be manipulated using functions defined in the same module as the type itself.
*Composite Data Types are data types which can be constructed in a program using its programming language's primitive data types and other composite types. The act of constructing a composite type is known as composition.It is constructed from primitive and composite types, and can serve as types themselves when constructing composite types.
*Primitive Data Type can refer to either of the following concepts.It is
* a basic type is a data type provided by a programming language as a basic building block. Most languages allow more complicated composite types to be recursively constructed starting from basic types.
* a built-in type is a data type for which the programming language provides built-in support.
* Recursive Data Type (also known as a recursively-defined, inductively-defined or inductive data type) is a data type for values that may contain other values of the same type. Data of recursive types are usually viewed as directed graphs.Sometimes the term "inductive data type" is used for algebraic data types which are not necessarily recursive.
* Boolean or Logical Data Type is a primitive data type having one of two values: true or false, intended to represent the truth values of logic and Boolean algebra.In programming languages that have a built-in Boolean data type, such as Pascal and Java, the comparison operators such as '>' and '≠' are usually defined to return a Boolean value. Also, conditional and iterative commands may be defined to test Boolean-valued expressions.
Languages without an explicit Boolean data type, like C and Lisp, may still represent truth values it by some other data type. Lisp uses an empty list for false, and any other value for true. C uses an integer type, with false represented as the zero value, and true as any non-zero value (such as 1 or -1). Indeed, a Boolean variable may be regarded (and be implemented) as a numerical variable with a single binary digit (bit), which can store only two values.
*Ordinal Data Type is a data type with the property that its values can be counted. That is, the values can be put in a one-to-one correspondence with the positive integers. For example, strings are ordinal because we can call 'A' the first character, 'B' the second, etc. The term is often used in programming for variables that can take one of a finite (often small) number of values. While the values are often implemented as integers (or similar types such as bytes) they are assigned literal names and the programming language (and the compiler for that language) can enforce that variables only be assigned those literals.
*Real Data Type is a data type used in a computer program to represent an approximation of a real number. Because the real numbers are not countable, computers cannot represent them exactly using a finite amount of information. Most often, a computer will use a rational approximation to a real number.
B)Innumerate at least three DBMS Software.
A database is an integrated collection of logically related records or files that is stored in a computer system.. It consolidates records previously stored in separate files into a common pool of data records that provides data for many applications. The structure is achieved by organizing the data according to a database model. The model that is most commonly used today is the relational model. Other models such as the hierarchical model and the network model use a more explicit representation of relationships.
1)Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software development tools. It is a member of the Microsoft Office suite of applications and is included in the Professional and higher versions for Windows and also sold separately. There is no version for MacOS or for Microsoft Office Mobile. Access stores data in its own format based on the Access Jet Database Engine. It can also import or link directly to data stored in other Access databases, Excel, SharePoint lists, text, XML, Outlook, HTML, dBase, Paradox, Lotus 1-2-3, or any ODBC-compliant data container including Microsoft SQL Server, Oracle, MySQL and PostgreSQL. Software developers and data architects can use it to develop application software and non-programmer "power users" can use it to build simple applications. It supports some object-oriented techniques but falls short of being a fully object-oriented development tool.
2)CSQL is an open source main memory high-performance relational database management system developed in sourceforge.net. It is designed to provide high performance on simple SQL queries and DML statements.This is mainly developed to be used as a cache for existing disk based commercial databases. Main Memory databases performs 10-20 times faster than the commercial database systems, as it completely keeps the database in main memory.
3)Visual FoxPro is a data-centric object-oriented and procedural programming language produced by Microsoft. It is derived from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Fox Technologies merged with Microsoft in 1992, after which the software acquired further features and the prefix "Visual". The last version of FoxPro (2.6) worked under Mac OS, DOS, Windows, and Unix: Visual FoxPro 3.0, the first "Visual" version, dropped the platform support to only Mac and Windows, and later versions were Windows-only. The current version of Visual FoxPro is COM-based and Microsoft has stated that they do not intend to create a Microsoft .NET version.
FoxPro originated as a member of the class of languages commonly referred to as "xBase" languages, which have syntax based on the dBase programming language. Other members of the xBase language family include Clipper and Recital. (A history of the early years of xBase can be found in the dBase entry.)
Visual FoxPro, commonly abbreviated as VFP, is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL query and data manipulation. Unlike most database management systems, Visual FoxPro is a full-featured, dynamic programming language that does not require the use of an additional general-purpose programming environment. It can be used to write not just traditional "fat client" applications, but also middleware and web applications.
Thursday, June 25, 2009
MVvsDataF
Memory variable
>>The memory of a computer is organized into a regular pattern of containers for information. These containers for information are called "words". Each one has a numeric address and each one is the same size as each of the others. For most applications, it is inconvenient to refer to portions of memory by their numeric addresses, so programming languages allow us to allocate portions of memory by name. When we store information in the memory of a computer we need to decide on how much we need for various purposes and on how it will be organized. Programming languages provide mechanism for "types" of information in memory. They also provide mechanisms to identify repetitive arrays of items of the same type and to aggregate possibly heterogeneous types under a common name.
Conceptually the memory in a computer is very much like building lots laid out by lot number on a map of the streets of a city before any houses have been built.
In working with the memory of a computer, we assemble the words that we need to hold the information we are working with into aggregates of the appropriate "type". Sometimes we need several words, sometimes just a couple, and sometimes just one.
Data field
>>A data field is the smallest subdivision of the stored data that can be accessed. A data field can be used to store numerical information such as price, count or a date or time, or even a data and time. A pair of data fields can be used in combination to hold a geo-spatial coordinate. Also, a data field can be used to hold a block of text. A data field takes up permanent storage within the data-store.
The data-store is composed of a number of data records which are, in turn, composed of a number of predefined data fields. Each of these data fields must be defined within the Load Definition File with a unique name.
Data Types
A data field can be any one of four types:
Type Description
Signed numeric data
Includes numeric values, bit masks, times and dates. May be filtered, sorted, displayed and used within formulas of all types.
String data
Consists of text blocks not exceeding 255 characters. May be sorted and displayed by Flexible Search.
Text data
Consists of text blocks of unlimited size. May only be displayed by Flexible Search, not sorted.
Attribute data
An array of boolean flags that can be turned on or off to set and check specific criteria. An attribute type can hold up to 1024 different attribute flags, each of which can be set to either true or false. However, space should only be set aside for the number of attributes required.
Temporary Fields
In addition, a numeric, string or text data field can be marked as temporary. Temporary fields are used for calculating values or indexing data. A temporary field is like a data field, but it does not take up any permanent storage within the data-store. It is used as a scratch location for holding temprorary data while it is being indexed or used within an expression to generate permanent data for a data field.
Tuesday, June 23, 2009
TERM CONTRAST
A. WHAT IS DATA?
-> data is anything in a form suitable for use with a computer. They are fed and to be processed by the computer.
B. WHAT IS INFORMATION?
-> information is the processed and organized data.
C. WHAT IS DATA STORAGE?
-> data storage is the way of storing data to computer storage devices.
D. WHAT IS COMPUTER STORAGE?
-> computer storage refers to computer components, devices, and recording media that retain digital data used for computing for some interval of time. Computer data storage provides one of the core functions of the modern computer, that of information retention.
E. WHAT IS OPERATING SYSTEM?
-> operating system is an interface between hardware and user; it is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for computing applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware.
F. WHAT IS COMPUTER SYSTEM?
-> computer system is a complete, working computer. The computer system includes not only the computer, but also any software and peripheral devices that are necessary to make the computer function. Every computer system, for example, requires an operating system.
-> data is anything in a form suitable for use with a computer. They are fed and to be processed by the computer.
B. WHAT IS INFORMATION?
-> information is the processed and organized data.
C. WHAT IS DATA STORAGE?
-> data storage is the way of storing data to computer storage devices.
D. WHAT IS COMPUTER STORAGE?
-> computer storage refers to computer components, devices, and recording media that retain digital data used for computing for some interval of time. Computer data storage provides one of the core functions of the modern computer, that of information retention.
E. WHAT IS OPERATING SYSTEM?
-> operating system is an interface between hardware and user; it is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for computing applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware.
F. WHAT IS COMPUTER SYSTEM?
-> computer system is a complete, working computer. The computer system includes not only the computer, but also any software and peripheral devices that are necessary to make the computer function. Every computer system, for example, requires an operating system.
Wednesday, March 4, 2009
SEARCHED
THE 10 DEFINITIONS OF DATA STRUCTURES
1. Data structures are facts fed to the computer, they are stored in the computer, when presented and organized in a uniform manner it becomes useful information which can be retrieve by the user. Data structure are containers of data or information. Through these data structures information or data or elements are safely store and kept inside the computer.
2. A data structure is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths.
3. Data structure means how the data is organized in memory. There is different kind of data structures. Some are used to store the data of same type and some are used to store different types of data.
4. A data structure is a specialized format for organizing and storing data. General data structure types include the array, the file, the record, the table, the tree, and so on. Any data structure is designed to organize data to suit a specific purpose so that it can be accessed and worked with in appropriate ways. In computer programming, a data structure may be selected or designed to store data for the purpose of working on it with various algorithms.
http://searchsqlserver.techtarget.com/sDefinition/0,,sid87_gci804744,00.html
5. A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data. Often a carefully chosen data structure will allow the most efficient algorithm to be used. The choice of the data structure often begins from the choice of an abstract data type.
http://en.wikipedia.org/wiki/Data_structure
6. In programming, the term data structure refers to a scheme for organizing related pieces of information.
http://www.webopedia.com/TERM/D/data_structure.html
7. A data structure is a specialized format for organizing and storing data. General data structure types include the array, the file, the record, the table, the tree, and so on. Any data structure is designed to organize data to suit a specific purpose so that it can be accessed and worked with in appropriate ways. In computer programming, a data structure may be selected or designed to store data for the purpose of working on it with various algorithms.
8. An organization of information, usually in memory, for better algorithm efficiency, such as queue, stack, linked list, heap, dictionary, and tree, or conceptual unity, such as the name and address of a person. It may include redundant information, such as length of the list or number of nodes in a subtree.
http://www.itl.nist.gov/div897/sqg/dads/HTML/datastructur.html
9. A data structure is a group of data elements grouped together under one name.
http://www.cplusplus.com/doc/tutorial/structures.html
10. A collection of data components that are constructed in a regular and characteristic way.
http://www.answers.com/topic/data-structure
THE THREE DATA STRUCTURES:
1. HASH TABLE-a hash table, or a hash map, is a data structure that associates keys with values.
TYPE OF DATA STORAGE:
A hash table works by transforming the key using a hash function into a hash, a number that is used as an index in an array to locate the desired location ("bucket") where the values should be. The number is normally converted into the index by taking a modulo operation, or sometimes bit masking is used where the array size is a power of two. The optimal hash function for any given use of a hash table can vary widely, however, depending on the nature of the key.
Typical operations on a hash table include insertion, deletion and lookup (although some hash tables are precalculated so that no insertions or deletions, only lookups are done on a live system). These operations are all performed in amortized constant time, which makes maintaining and accessing a huge hash table very efficient.
It is also possible to create a hash table statically where, for example, there is a fairly limited fixed set of input values - such as the values representable by a single byte (or possibly two bytes ) from which an index can be constructed directly (see section below on creating hash tables). The hash table can also be used simultaneously for tests of validity on the values that are disallowed.
TYPE OF RETRIEVAL:
Hash tables store data in pseudo-random locations, so accessing the data in a sorted manner is a very time consuming operation. Other data structures such as self-balancing binary search trees generally operate more slowly (since their lookup time is O(log n)) and are rather more complex to implement than hash tables but maintain a sorted data structure at all times. See a comparison of hash tables and self-balancing binary search trees.
2. ZIPPER-a purely functional data structure used in functional programming to solve some problems in a way that uses notions like “context” and “hole”. It is related to the generalization of the notion of “derivative” (for types). The zipper was described by Gerard Huet in 1997. It has some conceptual similarity to the gap buffer technique sometimes used with arrays.
Zippers are multidimensional in the sense that they can be used as lists or trees by placing additional restrictions upon them. Such derived data structures are usually referred to by saying a tree with zipper or a list with zipper to give the image that the structure is a tree or a list, with a zip slider attach to it as an afterthought.
TYPE OF DATA STORAGE:
The ideas of zero, addition, multiplication, and exponentiation known from the area of arithmetic have analogies in set theory, category theory, and type theory. For example, here is a small list of set theoretical pairings:
The empty set (analogous to zero)
The cartesian product of the sets A and B (analogous to multiplication)
the set of n-tuples of elements of the set A (analogous to n-power)
the set of functions from A to B (analogous to exponentiation)
(sometimes written as or )
Also
can be defined for sets as a fruitful concept (analogous to addition). It is something similar to the disjoint union of sets, but it uses labels to achieve a partition-like construct [1]. There are analogous constructs for types, too (see also typeful functional programming languages), used for case analysis.
TYPE OF DATA RETRIEVAL:
Several programming languages have parametric type constructs. They are used in a natural way in functional programming and have firm theoretical foundations, see type theory.
If we continue using the set theoretical analogies: we have a notion of constructing from a set another set. In many specific cases, these can be grasped as polynomial constructs of sets, where multiplication, addition, power correspond to the appropriate set-theoretic operations.
F(X) = X3
“makes” an appropriate set of triples from the set given in the argument:
3. SKIP LIST-A skip list is a probabilistic data structure, based on multiple parallel, sorted linked lists, with efficiency comparable to a binary search tree (order log n average time for most operations).
Underlying the skip list is an augmentation of an ordered linked list with additional forward links, added in a randomized way with a geometric/negative binomial distribution, so that a search in the list may quickly skip parts of the list (hence the name). Insert, search and delete operations are performed in logarithmic randomized time.
TYPE OF DATA STORAGE:
A skip list is built in layers. The bottom layer is an ordinary ordered linked list. Each higher layer acts as an "express lane" for the lists below, where an element in layer i appears in layer i+1 with some fixed probability p (two commonly-used values for p are 1/2 or 1/4). On average, each element appears in 1/(1-p) lists, and the tallest element (usually a special head element at the front of the skip list) in lists.
TYPE OF DATA RETRIEVAL:
A search for a target element begins at the head element in the top list, and proceeds horizontally until the current element is greater than or equal to the target. If the current element is equal to the target, it has been found. If the current element is greater than the target, the procedure is repeated after returning to the previous element and dropping down vertically to the next lower list. The expected number of steps in each linked list is 1/p, which can be seen by tracing the search path backwards from the target until reaching an element that appears in the next higher list. Therefore, the total expected cost of a search is which is when p is a constant. By choosing different values of p, it is possible to trade search costs against storage costs.
1. Data structures are facts fed to the computer, they are stored in the computer, when presented and organized in a uniform manner it becomes useful information which can be retrieve by the user. Data structure are containers of data or information. Through these data structures information or data or elements are safely store and kept inside the computer.
2. A data structure is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths.
3. Data structure means how the data is organized in memory. There is different kind of data structures. Some are used to store the data of same type and some are used to store different types of data.
4. A data structure is a specialized format for organizing and storing data. General data structure types include the array, the file, the record, the table, the tree, and so on. Any data structure is designed to organize data to suit a specific purpose so that it can be accessed and worked with in appropriate ways. In computer programming, a data structure may be selected or designed to store data for the purpose of working on it with various algorithms.
http://searchsqlserver.techtarget.com/sDefinition/0,,sid87_gci804744,00.html
5. A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data. Often a carefully chosen data structure will allow the most efficient algorithm to be used. The choice of the data structure often begins from the choice of an abstract data type.
http://en.wikipedia.org/wiki/Data_structure
6. In programming, the term data structure refers to a scheme for organizing related pieces of information.
http://www.webopedia.com/TERM/D/data_structure.html
7. A data structure is a specialized format for organizing and storing data. General data structure types include the array, the file, the record, the table, the tree, and so on. Any data structure is designed to organize data to suit a specific purpose so that it can be accessed and worked with in appropriate ways. In computer programming, a data structure may be selected or designed to store data for the purpose of working on it with various algorithms.
8. An organization of information, usually in memory, for better algorithm efficiency, such as queue, stack, linked list, heap, dictionary, and tree, or conceptual unity, such as the name and address of a person. It may include redundant information, such as length of the list or number of nodes in a subtree.
http://www.itl.nist.gov/div897/sqg/dads/HTML/datastructur.html
9. A data structure is a group of data elements grouped together under one name.
http://www.cplusplus.com/doc/tutorial/structures.html
10. A collection of data components that are constructed in a regular and characteristic way.
http://www.answers.com/topic/data-structure
THE THREE DATA STRUCTURES:
1. HASH TABLE-a hash table, or a hash map, is a data structure that associates keys with values.
TYPE OF DATA STORAGE:
A hash table works by transforming the key using a hash function into a hash, a number that is used as an index in an array to locate the desired location ("bucket") where the values should be. The number is normally converted into the index by taking a modulo operation, or sometimes bit masking is used where the array size is a power of two. The optimal hash function for any given use of a hash table can vary widely, however, depending on the nature of the key.
Typical operations on a hash table include insertion, deletion and lookup (although some hash tables are precalculated so that no insertions or deletions, only lookups are done on a live system). These operations are all performed in amortized constant time, which makes maintaining and accessing a huge hash table very efficient.
It is also possible to create a hash table statically where, for example, there is a fairly limited fixed set of input values - such as the values representable by a single byte (or possibly two bytes ) from which an index can be constructed directly (see section below on creating hash tables). The hash table can also be used simultaneously for tests of validity on the values that are disallowed.
TYPE OF RETRIEVAL:
Hash tables store data in pseudo-random locations, so accessing the data in a sorted manner is a very time consuming operation. Other data structures such as self-balancing binary search trees generally operate more slowly (since their lookup time is O(log n)) and are rather more complex to implement than hash tables but maintain a sorted data structure at all times. See a comparison of hash tables and self-balancing binary search trees.
2. ZIPPER-a purely functional data structure used in functional programming to solve some problems in a way that uses notions like “context” and “hole”. It is related to the generalization of the notion of “derivative” (for types). The zipper was described by Gerard Huet in 1997. It has some conceptual similarity to the gap buffer technique sometimes used with arrays.
Zippers are multidimensional in the sense that they can be used as lists or trees by placing additional restrictions upon them. Such derived data structures are usually referred to by saying a tree with zipper or a list with zipper to give the image that the structure is a tree or a list, with a zip slider attach to it as an afterthought.
TYPE OF DATA STORAGE:
The ideas of zero, addition, multiplication, and exponentiation known from the area of arithmetic have analogies in set theory, category theory, and type theory. For example, here is a small list of set theoretical pairings:
The empty set (analogous to zero)
The cartesian product of the sets A and B (analogous to multiplication)
the set of n-tuples of elements of the set A (analogous to n-power)
the set of functions from A to B (analogous to exponentiation)
(sometimes written as or )
Also
can be defined for sets as a fruitful concept (analogous to addition). It is something similar to the disjoint union of sets, but it uses labels to achieve a partition-like construct [1]. There are analogous constructs for types, too (see also typeful functional programming languages), used for case analysis.
TYPE OF DATA RETRIEVAL:
Several programming languages have parametric type constructs. They are used in a natural way in functional programming and have firm theoretical foundations, see type theory.
If we continue using the set theoretical analogies: we have a notion of constructing from a set another set. In many specific cases, these can be grasped as polynomial constructs of sets, where multiplication, addition, power correspond to the appropriate set-theoretic operations.
F(X) = X3
“makes” an appropriate set of triples from the set given in the argument:
3. SKIP LIST-A skip list is a probabilistic data structure, based on multiple parallel, sorted linked lists, with efficiency comparable to a binary search tree (order log n average time for most operations).
Underlying the skip list is an augmentation of an ordered linked list with additional forward links, added in a randomized way with a geometric/negative binomial distribution, so that a search in the list may quickly skip parts of the list (hence the name). Insert, search and delete operations are performed in logarithmic randomized time.
TYPE OF DATA STORAGE:
A skip list is built in layers. The bottom layer is an ordinary ordered linked list. Each higher layer acts as an "express lane" for the lists below, where an element in layer i appears in layer i+1 with some fixed probability p (two commonly-used values for p are 1/2 or 1/4). On average, each element appears in 1/(1-p) lists, and the tallest element (usually a special head element at the front of the skip list) in lists.
TYPE OF DATA RETRIEVAL:
A search for a target element begins at the head element in the top list, and proceeds horizontally until the current element is greater than or equal to the target. If the current element is equal to the target, it has been found. If the current element is greater than the target, the procedure is repeated after returning to the previous element and dropping down vertically to the next lower list. The expected number of steps in each linked list is 1/p, which can be seen by tracing the search path backwards from the target until reaching an element that appears in the next higher list. Therefore, the total expected cost of a search is which is when p is a constant. By choosing different values of p, it is possible to trade search costs against storage costs.
Monday, February 2, 2009
ARRAY IMPLEMENTATION-ITS 116(MWF-3-4)
When accessing datas using the Array Data Structure, the datas are called the elements in Array. Elements are declared into a single index container like, array[2, 3, 5].
We have 4 datas to be accesed in the structure which means we will have 4 elements. (*Think that the 4 datum are the 4 grades of 4 students in a class. The 4 grades has also 4 remarks each whether above average, average, below average depending on their grades.)
We named the four datas as: DATA_1, DATA_2, DATA_3, DATA_4 thus, we will have the syntax to declare as array[DATA_1, DATA_2, DATA_3, DATA_4]. Our flag pointer here is the name 'array' itself where all access of the 4 datas take place. When we input the DATA_1(first data) to the 'array', the array holds it until another data will come(DATA_2). Now, the 'array' holds 2 datas, we will add again another data(DATA_3) to the array and the last data(DATA_4) to the array also. This time the array holds 4 datas. When there's no more data to be added, the array will now index the datas which means each of the unique data will be processed. When all had been done, we wish to empty the array. We can choose which one should we emptied or it can be that all the datas will be emptied inside so that the array would be empty again and ready to contain another datas.
We have 4 datas to be accesed in the structure which means we will have 4 elements. (*Think that the 4 datum are the 4 grades of 4 students in a class. The 4 grades has also 4 remarks each whether above average, average, below average depending on their grades.)
We named the four datas as: DATA_1, DATA_2, DATA_3, DATA_4 thus, we will have the syntax to declare as array[DATA_1, DATA_2, DATA_3, DATA_4]. Our flag pointer here is the name 'array' itself where all access of the 4 datas take place. When we input the DATA_1(first data) to the 'array', the array holds it until another data will come(DATA_2). Now, the 'array' holds 2 datas, we will add again another data(DATA_3) to the array and the last data(DATA_4) to the array also. This time the array holds 4 datas. When there's no more data to be added, the array will now index the datas which means each of the unique data will be processed. When all had been done, we wish to empty the array. We can choose which one should we emptied or it can be that all the datas will be emptied inside so that the array would be empty again and ready to contain another datas.
Subscribe to:
Posts (Atom)
