Results 1 to 7 of 7
  1. #1
    Join Date
    Jan 2009
    Posts
    8

    facilities of sql

    Hello Everybody,
    Now I am reading the book “An Introduction to database systems”, international edition, written by C. J. Date and I feel very confused. In that book, most examples are explained in “Tutorial D”. I don’t know what “Tutorial D” is and do googling that. But I got no idea about that. Is that a language like SQL or what?
    In that book, at the end of most chapters, SQL facilities about the concept is described. But SQL can do very little thing. For example, in the chapter about “Integrity” , the concepts such as type constraints, attribute constraints, database constraints are described. But we can not implement those constraints with SQL. If so, how to implement that? Is it just the concept and can not be implemented? Or how can it be implemented?
    In the chapter, “Distributed databases”, it is said that data should be fragmented and replicated. But in the chapter “SQL facilities”, it is said that SQL does not provide such operations. If so, how distributed systems are currently working now.
    These questions are just the examples what I have been confusing. Many concepts are like that. Are they just the theories how database systems should be and it can not still be implemented now or what?
    Sorry for my long questions.
    Please explain me.
    Thank you very much.

  2. #2
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    D is an abstract specification for an as yet nonexistent database language that will descend more directly from RA (Relational Algebra) than SQL (Structured Query Languge) does. The specification includes some RA features that SQL lacks, and explicitly forbids some of the features of RA which SQL has already widely implement. This will allow D to do more of the things that RA describes than what SQL can, but the restrictions will also make some common SQL idioms difficult or impossible to implement in D.

    Because D is much harder to write and much harder to learn to use well, it is rarely if ever used outside of academia. D could be a powerful tool, and one that could arguably do a better job than SQL if anyone made a commercially successful version of D.

    Chris Date is one of the "founding fathers" of Relational Databases, and a strong proponent of RA. Chris and Hugh Darwen co-wrote the D specification. I don't think that they've written a working subset of D (although others have). See https://en.wikipedia.org/wiki/D_(dat...specification) for discussion of D and links to details.

    -PatP
    In theory, theory and practice are identical. In practice, theory and practice are unrelated.

  3. #3
    Join Date
    Jan 2009
    Posts
    8
    Thank you very much for your kind reply.
    So, currently Tutorial D can not be run.
    I mean, the statements in Tutorial D can be executed and the results can be displayed?

  4. #4
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    At least as far as I know, there isn't any commercial D product.

    D4 is a subset of D, and it is described at https://en.wikipedia.org/wiki/Dataphor

    There is also quite a bit of (mostly open source) material on D at http://www.dprogramming.com/tutorial.php

    I can't see D becoming a commercial success in the next 20-30 years. I've been wrong before, but people have been predicting the end of COBOL for at least 30 years and I see new programs being started almost every week. Right now SQL is clearly dominant in the relational database field, but someday D might become commercially viable and if D become viable then it will eventually dominate.

    -PatP
    In theory, theory and practice are identical. In practice, theory and practice are unrelated.

  5. #5
    Join Date
    Jan 2009
    Posts
    8
    If so, what is the meaning of learning that book? I feel confused with the topic I cannot test and use. That book is used as a text book in my university. Do you think that it is a proper one as a text book? Let me know your opinion.

  6. #6
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    The concept of D is closely derived from RA (Relational Algebra), and that makes D a powerful learning tool. The university should teach you the theoretically correct way to do things, and D is a very good choice for teaching that content.

    I was at university in the 1970s. I already had a fair bit of practical experience in my field, and my experience soured me on many of the things that I could have learned while at the university.

    D was proposed and is supported by Chris Date, who is arguably the best authority on database theory in computer science today. That alone makes D an important tool for learning.

    Donald Knuth recently contributed to http://techcrunch.com/2015/09/11/leg...n-programming/ which is an article that I just read. He notes that many of the new generation of programmers and IT people know the pre-packaged widgets but have no understanding of the internals of those packages or how they work. D is a tool that allows you to learn RA at the university level, but D is emphatically NOT a tool that you're likely to use outside of academia (at least for the near future).

    In an ideal world, D would have already trounced other relational tools and would be the de-facto "king of the hill" with other tools being used for legacy support. The real world is rather ponderous, and it takes a very long time for things to change. For now, we need to deal with SQL because it is the tool that is supported by nearly everything.

    Note that different implementations of SQL have different support for various RA features. DB2 is the feature rich, old school SQL tool. Oracle is extremely proprietary. Microsoft SQL Server tries to be avaunt guard, but is held back somewhat by the sheer size of their user base. MySQL is a flat file manager with an SQL-like front end and it tries to be a developer's best friend (and often ignores RA in the process). Each tool offers a set of features, and those can be strengths or weaknesses depending on what you need and how you look at them.

    The short answer is that as of now D is not a commercial tool and doesn't even have a full implementation of its features but it is the best RA teaching implementation that I've seen. For use in a university, D is a great choice. For use in a commercial product, D might cause the product to fail. Note that a university is responsible for teaching you what ought to happen, you are responsible for learning the products and tools to actually make things happen!

    -PatP
    In theory, theory and practice are identical. In practice, theory and practice are unrelated.

  7. #7
    Join Date
    Jan 2009
    Posts
    8
    Thank you very much, Sir.
    You replied to me very patiently.
    Most importantly, you opened my mind.
    Thanks again.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •