Giter Site home page Giter Site logo

sql-overview's Introduction

This project contains grammars for the ANSI SQL Standards (taken from
the drafts).

See the HTML rendered grammars here:

http://jakewheat.github.io/sql-overview/

TODO
Cover most of the SQL Standard:

explain what the concepts are. Document the names for these in the SQL
standard, and what names products use.

Focus mostly on grammar, but also on semantics. Explain and give
examples of sql source, and cover the availability of these in sql
products, mentioning the compatibility with the standard and other
products, and the jargon used for each product.

The reader should go away with:

* an understanding of what is in the standard and what the names of
  things really mean

* an understanding of which bits of the standard are widely supported,
  which bits are widely supported but with varying syntax or
  behaviour, and which bits exist only in the minds of the sql
  standards people and don't relate to reality

* an understanding of why features exist and what purpose they are for

* an understanding of which features are supported in a range of
  common products

* a good and in depth appreciation for sql's strengths and weaknesses

Provisional product list ideas: db2, oracle, sql server, sap dbmss,
postgresql, mysql.

TODO: cross referenced grammar

What kinds of features are in the standards:

1 syntax which everyone supports
2 syntax which many dbmss support
3 features which many dbmss support with different syntax
4 features which many dbmss support, possibly with different syntax,
  with not very similar semantics
5 features which no or very few dbmss support

-------

TOC ideas:
databases, tables, queries, updates

scalar types
type constructors: row, array, multiset
scalar expressions
dml
  queries

    queries
    select list
    table ref, joins
    aggregates, group by, grouping sets
    window functions
    where, having
    limit, offset
    order by
    set operations
    cte
    array unnest and variations?
    subqueries, csq, lateral

  updates
    delete
    truncate
    insert
    merge
    update
  cursors
  temporary tables ??
ddl, schemas
    tables, columns
    defaults, identity, sequences
    constraints, unique/pk, not null, referential, check
    alter table
    table periods, system versioning
    other schema objects

locators??
transaction management
session management
catalog
access control

clients, servers, sessions, connections
databases, 'catalog clusters', and schemas

control statements
connection management
diagnostics

dynamic sql
embedded sql
direct invocation

procedural sql
external data
extensibility

call level interface
persistent stored modules
management of external data
object language bindings (java?)
information and definition schema
java
xml


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

postgres manual says that there are 179 mandatory features for 2011
core conformance, postgres does 160, and no database product does all
of these

sql-overview's People

Contributors

jakewheat avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.