Our department was tasked to develop a database and an application to it. The database will include a list of 450 schools in our republic. Initially, of course, the database is limited only to the contacts of the school itself and the composition of the teachers. But in the future it is assumed that more detailed information will be entered there including the addresses of schoolchildren. What more detailed data database will contain is not yet known. We also need a program for handling queries to the database, designed for the average user. The program will be used by our institution as well as school staff, the account of which we are going to introduce. Database of this magnitude, I have not done before. Only the database for its small applications and sites was managed. With the director, we stopped at MS Access . I know languages ​​c ++, c #, python , java . I think to choose C # probably it will be more closely connected with Windows and Access .
Please share your thoughts on how best to organize this process. If you need some updated information, then ask, I will try to give a detailed answer. I need to submit the first application layout and variants of the database tables within a week.

  1. Can change MS Access to another database?
  2. Can make an application first and fill out the database immediately from it?
  • one
    Aktsess is quite sufficient, but you can choose any other base. The complexity of use is determined by your application, not the database. By the way, if this is a network project, then Aktsess doesn’t fit that well, but it can also be used. - maxleo
  • 2
    @derkode, if in the future 450 schools of the whole republic, then there will be further budget money. They need to master competently. To do this, the project must be expandable, constantly growing (at least on paper). It is best to immediately write the Oracle and Linux DBMS cluster with storage devices in the NAS / SAN. - In the meantime, you can call your project a prototype. But then it's still better to do it right away on Linux (and for example, MySQL or Postgres). - avp
  • those. do on linux and post immediately online? Or online to keep one computer on Linux and store the database on it? - Adam
  • one
    > do on Linux and post immediately on the Internet? Or online to keep one computer on Linux and store the database on it? Actually, these are equivalent options. In any case, the database should live on a computer under Linux and be placed on the Internet (but it does not have to be publicly available, of course) - user6550
  • If we conditionally take Linux + MySQL + Python. Probably better to do the client application right away and fill in the database through it? Is there a difference in the distribution? Will ubuntu come down? - Adam

4 answers 4

There are 3 main database vendors in the world: Microsoft, Oracle and IBM - everything else is dust under your feet.

Each vendor has its own database line from small to very large.

Practically any of the younger series of these vendors is perfect for your purposes: MySQL, Oracle Express, SQL Server Express, IBM DB2 Express. The advantage here is that if your database suddenly becomes large, it will not be difficult to transfer them to adult databases.

And if you do not obey your adult uncles and sit under a certain thing in yourself Postgres (I love and respect very much), Sybase or Mongo - then don’t say that you weren’t warned :)

  • I really liked the remark, but what about the Access account? - Adam
  • five
    Access is an office desktop prududa little adapted for network work. You can only train on it or use it to compute complex, field-like questionnaires. Another Access is suitable for use as a convenient (admittedly) client to a large database. For your purposes, it is not suitable. Throw it out before it's too late, and then you cry. - Barmaley
  • And you probably also recommend installing on a Linux machine right away? - Adam
  • Depends on the selected DBMS. Mssql on Linux is difficult to install, for the rest, you can take Solaris. - maxleo
  • one
    Yeah. Solaris. And not a small thing, right at the park. And oraplaiznogo orakla there pile up, and the dwarf to be hung, and what? Here is a razvlekuha for a person who has not seen a single Linux without X ... - user6550

Licensing Oracle or SQL Server seems to me pointless, because almost any database server can handle your workload. I would advise as a client software - a set of forms (MDI is a classic) + Entity Framework for interacting with the database. EF5 and above can connect MySQL - you can and use it

  • one
    Yes, besides EF can connect to acces - Mikhail Tatarintsev

If you are going to develop independently, I advise you to choose My Visual Database, which is simpler than MS Access and free. http://drive-software.com/myvisualdatabase_ru.html

but this database will work only on lokalka or via remote desktop, because no full client server

    I recommend: 1c version of the "enterprise". Benefits:

    • easy to learn and install;
    • installation and configuration can be done independently;
    • there is a visual designer, which means it is easy to create your own database (accounting system), add attributes, tables, reference books, create reports;
    • you will be able to support yourself and, if necessary, technical support is, in principle, not so expensive