tag:blogger.com,1999:blog-33103854.post6667395322743530731..comments2023-05-22T14:15:21.482+02:00Comments on Karsten Wagner's Blog: The problem of dealing with data-structuresKarsten Wagnerhttp://www.blogger.com/profile/09652404623625038743noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-33103854.post-28293497255521349462007-02-02T08:29:00.000+01:002007-02-02T08:29:00.000+01:00@Karsten
As I already said, I am far off rom call...@Karsten<br /><br />As I already said, I am far off rom calling SQL old or not enough, and I do not see any necessity to improve SQL apart from a standard transitive closure syntax.<br /><br />Why is the transititve closure not in the relational algebra? Well, the relational algebra is a construct on which the computer scientists back in the 70s/80s build query languages. The chose the relationalAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-33103854.post-13668462743770660732007-02-01T19:43:00.000+01:002007-02-01T19:43:00.000+01:00In the way of curious circumstances, LtUs current ...In the way of curious circumstances, <a href="http://lambda-the-ultimate.org">LtUs</a> current <a href="http://lambda-the-ultimate.org/node/2013">top post</a> describes (and neatly solves, at least for java) the gripe you have.<br /><br />I think the main reason, that this subject is a non-issue for most project is that either no full relationships are needed, i.e. the relationship is only used Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33103854.post-62101053531044912012007-02-01T12:33:00.000+01:002007-02-01T12:33:00.000+01:00@dibblego:
I am continuing to think about it. Of ...@dibblego: <br />I am continuing to think about it. Of course mutation can be seen as a series of transformations on some empty data structure. The question is, which way of looking at it makes programming more easy. While the mutation approach is more natural, the transformation approach has other advantages like atomic updates without the need for some additional 'artificial' facility.<br /><brKarsten Wagnerhttps://www.blogger.com/profile/09652404623625038743noreply@blogger.comtag:blogger.com,1999:blog-33103854.post-42820600935346769952007-02-01T12:31:00.000+01:002007-02-01T12:31:00.000+01:00SQLite is an actively developed and maintained pub...<a href="http://www.sqlite.org/">SQLite</a> is an actively developed and maintained public-domain C library implementing a SQL-queried relational database. It's easy to incorporate into programs in most languages, and it supports in-memory databases (which can be trivially copied to and from disk databases in whole or in part). Extremely handy for desktop applications and any web application Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33103854.post-71562520495055995812007-02-01T09:16:00.000+01:002007-02-01T09:16:00.000+01:00Actually, it is not SQL missing the transitive clo...Actually, it is not SQL missing the transitive closure feature. It is the relational algebra, the very foundation of RDBMs which does not permit this operation with its basic operators. That is actually the reason, why sql is not turing complete.<br /><br />As you may see, SQL is not the reason why you cannot do this, the mathematical foundation is.<br /><br />Of course, several RDBMs (Oracle, Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-33103854.post-22665868883705335762007-02-01T04:24:00.000+01:002007-02-01T04:24:00.000+01:00The reason is that databases are inherently mutabl...<i>The reason is that databases are inherently mutable.</i><br />Here is your mistake.<br /><br />Is there something 'inherently mutable' about your preferred revision control system?<br /><br />Think about it some more.Tony Morrishttps://www.blogger.com/profile/17206456907461293947noreply@blogger.comtag:blogger.com,1999:blog-33103854.post-3762101912173561752007-02-01T00:15:00.000+01:002007-02-01T00:15:00.000+01:00@Thomas Schilling:
It's not about storing data on ...@Thomas Schilling:<br />It's not about storing data on disk, its about representing them. In memory, on disk, where ever.<br /><br />Writing query languages in the language itself (via macros or similar meta-programming facilities) can't really solve the mentioned problems, because without full program optimization the result would have rather poor performance. And how do you want to represent Karsten Wagnerhttps://www.blogger.com/profile/09652404623625038743noreply@blogger.comtag:blogger.com,1999:blog-33103854.post-59858673624883282182007-01-31T23:13:00.000+01:002007-01-31T23:13:00.000+01:00There's always keeping things in an XML DOM. If yo...There's always keeping things in an XML DOM. If you fancy using .NET, you can use DataSets - which you can query with a mini SQL-like language - and soon with LINQ - SQL-like syntax built into C# and VB.NET. This allows you to query both DataSets and XML DOM (and perhaps other stuff).Anonymoushttps://www.blogger.com/profile/12586242966886118700noreply@blogger.comtag:blogger.com,1999:blog-33103854.post-28495545134730413482007-01-31T23:12:00.000+01:002007-01-31T23:12:00.000+01:00I guess you want an object store and (possibly) a ...I guess you want an object store and (possibly) a built-in query language. Specifying relations might be put into a separate embedded language, though I don't think it's a bad idea to put the relations into the object itself.<br />Take a look at Franz Inc.'s Allegro Cache (http://www.franz.com/products/allegrocache/) and LINQ or MS' Power Shell. These are two embedded SQL-like query languages.Thomas Schillinghttps://www.blogger.com/profile/04274984206279511399noreply@blogger.comtag:blogger.com,1999:blog-33103854.post-59700050610099601472007-01-10T02:43:00.000+01:002007-01-10T02:43:00.000+01:00I know the book, but the example addresses a sligh...I know the book, but the example addresses a slightly different topic. And it's 'toy-code'.<br /><br />Creating immutable Databases is something I thought about, but I don't think it's really practical. The reason is that databases are inherently mutable. You can model them in a pure functional way, but in the end you only simulate mutability with typical functional methods without gaining Karsten Wagnerhttps://www.blogger.com/profile/09652404623625038743noreply@blogger.comtag:blogger.com,1999:blog-33103854.post-14586133058319646702007-01-08T02:01:00.000+01:002007-01-08T02:01:00.000+01:00I don't know whether this will affect the thoughts...I don't know whether this will affect the thoughts you expressed here, but it might be worth reading <a href="http://www.gigamonkeys.com/book/practical-a-simple-database.html">Chapter 3 of Practical Common Lisp</a>, which discusses ways of writing data structures that can be queried. Perhaps not entirely applicable to Java, but worth understanding.<br /><br />In general though, I don't think Ricky Clarksonhttps://www.blogger.com/profile/13845104548520132930noreply@blogger.com