Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am developing with Delphi XE2.
I am planning a software for primary and secondary school. This school have 1,500 students. The database model is relational and we plan to keep the whole history of each student as the years move on. (well at some point it will be archived, but mostly all the relationships will be maintained for a good time)
I used to write Delphi apps using DBISAM V4 from Elevate Software. I hold a licence of it, so it is still a possibility for use it.
However I had contact with many companies using Firebird recently, some using Postgres and many websites with MySQL.
I don`t see a need to go paid databases, since this type of customer is sensitive in investment. So any database that is free for such use, plus the option of keep using DBISAM. I like it but it is getting old.
I prefer to put the business logic on the software, not in the database, so no need to intricate logic or procedures on the database side.
My questions is: What I need to consider to choose the correct database?
This Wiki post can help you. Besides that, you have to decide for using OLE-DB, ODBC or DBX as middleware technology. Depending on which one you will find or not support for Delphi.
Another criteria include know-how on the database options and rectrictions/requirements on security and scalability.
However, no matter what DBMS you choose, my best advice for you is to isolate the access to it in a dedicated service layer so most of your application won't be directly dependent of it.
In your place I would model the application in terms of domain classes and would invest in a persistence layer. If you have to go for another DBMS in the future, most of you code will be preserved.
DBISAM will work here, and you can even write a webservice in Delphi, to provide access to tablets and such. You need to start thinking about the things that really matter here, such as what platform the users are on, how many users total, how many users will be using the database simultaneously (average and peak), how many rows are kept per student, how many add/delete/updated rows daily, etc.. DBISAM has limited SQL. It does a lot, but not everything that you can do in other databases. Their newer product, ElevateDB, addresses most shortfalls, including Unicode.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm storing a variety of variables containing statistics, items weapons, etc in a flash based game. Currently I'm using PHP and AMFPHP as a backend, calling services to pull the data. This is fine for my own machine, even my own website, however if I want to deploy the game to a site such as Kongregate or ArmorGames, what storage method can I use at that point?
I have a small preference of continuing to use a database such as MySQL because I spent some time designing the ER diagram and schema, but if I have to store in a flat file, I can do that too. I'm especially interested in others who have deployed games which have data storage (such as inventory, characters, classes, items, mobs) external to their game.
Edit: Looking for answers as to whether people use remote services or another solution for deploying their games to sites such as this.
Perhaps you should peruse the documentation of the respective providers:
http://www.kongregate.com/developer_center/docs/shared-content-api
Not sure if armor games has any of that type.
I asked within Kongregate's developers, the answer is yes, I can use remote web services. The API unfortunately had nothing in it dealing with this issue.
You could use our backend Flox http://gamua.com/flox/. It allows you to store your inventories, characters, etc. It's not MySQL but based on a NoSQL database. However, since you'd be using the AS3 SDK, you would not get in touch with the DB anyway.
Also, I should mention that I am the lead developer of Flox, which may make me a bit biased. ;-)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I have several SQL Server 2005 databases ranging from 20 – 600 tables in an application and no documentation. I am looking for a database diagramming tool that is smart enough to pick tables that seem to be related to one entity (e.g., tables related to Patient, tables related to Orders) or one functionality (e.g., Patient Management, Order Management) and show them separately instead of drawing the entire database.
In the past, I have seen tables related to one piece of functionality represented in one color in the ER diagrams. In a well designed database, perhaps there will be multiple schemas that group tables related to one functionality together. But as all these tables are in one schema, and I want a tool that is smart enough to perhaps suggest which tables should go together under one schema. It won’t be perfect but perhaps it is intelligent enough to examine which tables should go together (for example based on relationships between them or based on which tables seem to be accessed together in the stored procs).
The bottom line is that I want to understand the data-model as quickly as possible. A tool called Schema Spy ( http://schemaspy.sourceforge.net/ ) seem to be headed in the right direction, but I was wondering if anyone knew better/more comprehensive tools.
Thanks.
Have you tried Visio at all? While it does not satisfy everything you asked for it can reverse engineer a database and make very appealing diagrams with a little work.
I have never used it to understand an existing database, but I have used it to explain databases I have created.
You could have a look at wsSqlSrvDoc. It's a nice little tool that works with Sql Server extended properties and creates a MS Word document.
The print-out of all column properties (with foreign key relations) works out of the box. For further descriptions on each field you have to set up extended properties of those columns in Sql Server Management Studio.
The downside however is that it's not free (but quite afordable). And if you just need to create a documentation for a "not work in progress" DB that's more or less finished than it would be enough to use the free trial i'll guess.
This question is related to an older question, Link:A good database modeling tool?
From the answer to this question, e.g. fabFORCE.net dbDesigner might be what you are looking for.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 11 months ago.
Improve this question
Is there an open source object oriented database for C++ available?
I had looked at Object oriented Relationship Mapping (ORM) libraries like those posted here:
https://stackoverflow.com/questions/74141/good-orm-for-c-solutions
and these were intereting as well:
Object-oriented-like structures in relational databases
http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#C.2B.2B
My experience so far has been painful. The solutions don't appear to be mature and I've had difficulty even compiling some of them, and the documentation and support can be sparse.
I suppose at some level I'm trying to avoid learning SQL (I'm not a database developer). On the other hand, my gut feeling is that ORMs are an architectural 'workaround' in that they are creating a layer above a database system that inherently doesn't support objects.
My ideal database library would allow the following:
Allow one to specify the object hierarchy tree based on class names, perhaps in XML or just in C++.
Allow one to specify which fields of those classes should be persistent.
Provide an API to create, update, delete, retreive the hierarchy of objects.
Ideally, provide an API for the in-memory tree itself, including concurrent access to tree nodes.
I had worked on embedded system that had such a custom database and api.
I'm almost at the point where I'm just going to create my own and open source it.
Just wondering if there is anything off the shelf I can use.
I saw this:
http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems
and am trying to figure out this might work:
http://www.fastdb.org/fastdb.html
Thanks in advance.
I'm not going to make any recommendations, because I don't know of a high-quality FOSS OO database. I would however make the following observations:
OO database are not a way of avoiding SQL - you need both. Frankly, If you don't know SQL pretty well, your life as a professional programmer iis likely to be unhappy.
OO databases are mature - they have been around for well over 20 years. I personally first used one on a large project in the finance industry 15 years ago.
OO database are best used where relational databases fail - I've used them in complex financial instrument modeling, oil-pipeline optimisation and telco work.
ORM databases take the bad parts of the OO and the relational models and make something even worse of them.
My favourite commercial OODB is ObjectStore, but I haven't done any work with it for quite while now.
Hope that is vaguely helpful.
Honestly, unless you're into "bleeding edge", I would stay away from OO databases. In almost all cases, they're not well supported, immature, and have various support issues client side.
The problem is, only the relational databases (and certain non-relational ones) get 99% of the attention, and thus end up far more mature. ORM may be a workaround, but if you want reliability, it's really what you need.
UPDATE:
To clarify, I'm sure there are some very reliable open source OODB's out there, but my requirements for "realiability" are more than just whether it doesn't crash and doesn't corrupt data. It includes reliability of the client connectors, reliability of the integration with the object models of popular languages, etc...
This is about open source OODB's, not commercial ones.
this is a good OO database , currently I am working with it
http://www.garret.ru/goods.html
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
We have grown from a small time of 2-3 developers to about 30 developers very quickly. We supposedly never needed Source Control, or Db Monitoring or Schema diagrams.
Now we see more and more terrible code being moved to the Production. Is there an off the shelf product for oracle that will help manage version control and deployment management from Test, to UAT, to Prod?
Also nice to have would be Schema diagrams, Documentation Tools, some amount of performance profiling capabilities. But primarily would like to a tool to manage code source control and Migration for oracle scripts, DDL, DMLs etc.
I srongly recommend getting Oracle'e SQL Developer. This integrates with Subversion, provides an overview of the entire database, including procedures, schema changes and so on. This will make your life easier.
have you considered SVN for your source control and management of scripts, DDLs and etc? Our ORACLE DBAs use it here and they swear by it.
I know I am very late to this party, however, I wanted to draw your attention to our product, dbMaestro TeamWork for Oracle, which provides exactly the functionality required here. We offer the functionality equivalent to source control tools for Oracle artifacts. Many companies use SCM by proxy (as suggested above by northpole, re using SVN), our solution is "in touch' with the database as required by Reuben on the original post. To read more please visit our site at http://www.dbmaestro.com or e-mail us at info#go-esi.com.
Disclosure - My company represents this product in the US.
TOAD (by Quest Software) is fantastic and includes most of what you want including source control.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
This post from SqlBatman describes a situation similar to my current client and, in reality, indicative of many companies that rely on tons of reports which have been shifted to over-night processing because of their performance impact.
How do I get started using Analysis Services in general and OLAP Cubes in particular to help my clients?
I really like Analysis Services Step by Step to get up to speed on all that SSAS can do.
In short, SSAS gives you quick access to pre-aggregated data. The real power of OLAP is not in being able to generate reports quickly, though; it's in being able to interact with the data. Slicing, dicing, drilling down, up, and through. It's a dataphile's dream.
That being said, if you just want to get static reports out of this, or you want to build out cubes, you really, really, really need to get up to speed on data warehousing. Grab a copy of The Data Warehouse Lifecycle Toolkit for this. Kimball's the authority on this, especially if you'd like to use SSAS on top of it.
The warehouse is the cake, the cube is the icing. Bake the cake, first, and the cube just gets put on top to make it that much better.
Cheers,
Eric