What is generalization,aggregatio... and specification in database abstraction

  • 2 Replies

0 Members and 1 Guest are viewing this topic.


Offline mohit007kumar00

  • First timers
  • *
  • 3
    • View Profile
 What is generalization,aggregatio... and specification in database abstraction ?


Offline LeeE

  • Neilep Level Member
  • ******
  • 3382
    • View Profile
    • Spatial
I'm afraid that I'm not sure that I correctly understand your question.

The term 'Database Abstraction' is generally used where a database using software application is designed to work with any suitable database server application instead of a specific database server application.

For example, a client application could be written to only work with MSSQL, or MySQL or PostgreSQL etc. database server applications, in which case there is no database abstraction, or it could be designed to work using ODBC (Open DataBase Connectivity), in which case the application could work with any of the aforementioned database server applications, provided that a suitable ODBC driver is available for that database server application on the relevant platform.

However, because different database server applications offer different supersets of functions, over and above the various DBMS standard sets of functions, an application that is designed to use Database Abstraction must limit itself to using only the functions that are common to all database applications and cannot make use of features that may only be present in a specific database server application.

In that context then, I'd guess that generalisation and specification may refer to the principle of limiting the set of database functions that are used to only those supported by all database server applications.  As for aggregation, I can only guess that this might refer to consolidation, where several different databases, all using different database server applications, are migrated onto a single database server platform.
...And its claws are as big as cups, and for some reason it's got a tremendous fear of stamps! And Mrs Doyle was telling me it's got magnets on its tail, so if you're made out of metal it can attach itself to you! And instead of a mouth it's got four arses!


Offline nicephotog

  • Sr. Member
  • ****
  • 390
  • H h H h H h H h H h
    • View Profile
    • Freeware Downloads
If your talking "DataBase design", a DB is a file inside a DataBase Server(application).
Hence a DB Schema is a "specification"(sometimes referred to as a composite, "composition" , complete total, sum of the whole).
Specification becomes the hard or rigid final "DB structure" of tables names and data types of all fields in each table considered as their own single unique existance not aliased(given one listing for all that are the same) to replicated / repeated e.g. column of same name and data type.
However many of anything that is in it is what it is.
That is that, that is that, that is!

"Normalisation"(having efficiently constructed data sets in DB's and their Tables and named specifically for non similar purpose to lower the overhead of "possible result-set recursion" and "duplicate data sets". The database designer "abstracts a model of ALL the data and ALL the types to use, and breaks down what and where and how the information will be used into everything required to have available and occur as query requests - updates - connections - net clustering and routing access users - groups") relates to "Aggregation"(grouping of all e.g. Data field heading nomenclatures meaning-DataTyping "columns" to make up a whole for a/each purpose).
Aggregation: Consider "all the different factes of types of data in/for all the tables and DB's to be used, or more abstractly in a single query or update as A SET of required parts to make a WHOLE for en action" to use for a particular "user group" accessing for a particular purpose.

When various groups use , or some queries have the same data content or the majority of SQL-DB "types of data" ,  generalisation allows that to be placed into a common bin to raise the efficiency of finding data of having available.
E.G. (Highly ideosynchratic abstract example) the connection , user , and queries could have common data requirements so an assignment of "access permission" can be given to some groups of users to use particular SQL commands for querying or table access or column access.
However, "Mainly those data fields that are common to the queries from various connection sources" can be placed into a single table to assist against result set recursion for many connections users or groups, and finally and subtley for their specific purpose , automatically disambiguated in usage from other similar data when constructing new queries as the programmer.

Normalisation: is the most efficient minimum "DB data field types" set for the "DB Structure" (and in some way the maximum set if duplicates are required because of a physical network access scheme such as clustering , or routing to a lesser extent user permissions).

Aggregation in the context of generalisation : is simply the consideration of what any one query or access-connection requires "of the DB data all have available" in common with each and other to minimise aquirement aquirement calls on the DB structure.
Aggregation in the context of normalisation : is the complete unique minimum DB data set of fields and types for everything required to be used and accessed in the DB scheme no matter where the data-source is.

Generalisation: refers to the minimum DB data set of field types required for any "common" final query "use" from anything anywhere allowed to access the normalised data(to clarify, it's the most commonly required to be used by any accessing queries calls "unique fields(columns)" in the DB statistically).