среда, 1 августа 2012 г.

db-relaltional

    Реляционная модель
    
    Модель данных это комбинация как минимум трех компонент:
    1. Коллекция структур данных (строительные блоки).
    2. Коллекция операторов, которые могут быть применены к любым валидным экземплярам структур данных из пункта 1.
    3. Коллекция ограничений целостности (general integrity rules), которые явно или неявно определяют множество consistent database states или changes of state or both.

    Реляционная модель данных в этом смысле характеризуется следующими компонентами:
    1. Единственная структура данных - реляционное отношение.
    2. Операторы реляционной алгебры:
    3. Integrity rules: entity integrity, foreign key integrity.

    Реляционная алгебра

    ррр     


    Реляционное исчисление

    ррр     

    Нормальные формы



    Реляционная модель данных придумана Эдгаром Коддом в 1970 году. Первоисточники:
1. "A relational model of data for large shared data banks", Codd, 1970
2. "Extending the database relational model to capture more meaning", Codd, 1979
3. "Relational database: a practical foundation for productivity", Codd, 1981

    Надо понимать, что это
1. Первоисточники, т.е. не уверен, что самая актуальная на сегодня точка зрения, возможно подверглась пересмотру
2. Это реляционная модель (модель представления данных), не SQL и не реализация модели в виде базы данных.

    "What Goes Around Comes Around"Michael Stonebraker, Joey Hellerstein.
    Это анализ 9 различных групп моделей данных за последние 35 лет. Реляционная лишь одна из них и не последняя.

------------------------

    Relational Model VS Object-Oriented Model

    Object-relational impedance mismatch
    
    The Third Manifesto

    TransactionScript / ActiveRecord / DAO / ?MVVC? / ORM

    Relational algebra is an offshoot of first-order logic and of algebra of sets concerned with operations over finitary relations, usually made more convenient to work with by identifying the components of a tuple by a name (called attribute) rather than by a numeric column index, which is what is called a relation in database terminology.
    The main application of relational algebra is providing a theoretical foundation for relational databases, particularly query languages for such databases, chiefly among which is SQL.

    First-order logic - wiki

    Algebra of sets - wiki


    Relational calculus  - an operational methodolgy, founded on predicate calculus, dealing with descripitive expressions that are equivalent to the operations of relational algebra.  
    Two forms of the relational calculus exist: the tuple calculus and the domain calculus


    SQL: WITH
    The Askew Wall - sourse of sql