how can i choose the right database? - database

I am creating a website, using mostly html and some php pages, now I have to create a database and connect it with my website, for log in and requests, my question is what database should I go for, is Microsoft access good enough? or sql server or phpmyadmin? the website isn't large, it might get 6 requests per day, I am not a professional programmer but I know a few things about programming, please help

I am an developer in Access. Access technology is a Windows application, not intended for web applications. It is not a back end database which is what a web server needs behind it. The SQL Server - Express Edition (free) would be the product from the Microsoft family. Of course there are other suitable shareware products out there, probably the best known being MySQL.
When the requirement is for internal needs, not public facing, but the users are geographically separated; then Access (and other Windows Applications) are platformed on a Remote Desktop Server (aka Terminal Services).
The other alternative to building your own web application is using one of the database centric web services: Soho, QuickBase, Knack, etc.

Related

Migrate MS Access backend to cloud

I have built a CRM for my company using MS Access 2016, and we are looking to be able to use it remotely. I have currently split the database and have the back-end residing on our company server/shared drive. As I see it, we could put the back-end on SQL Server, but that would mean finding a way to host it. We recently moved to Google Apps for Work and I have been looking at the Google Cloud platform (e.g. Cloud SQL), but I don't know if it will integrate nicely with MSSQL. There's also Sharepoint, but we are are having difficulty even finding it to buy on Microsoft.com, and are trying to move away from Microsoft Office products anyway.
What would be the most stable, cost-effective, and fastest way to allow our employees to use our Access DB remotely?
My suggestion would be to migrate the database into SQL Server as step one. Then step two host the database in Microsoft Azure using the SQL DB service.
You can find more details and pricing here: https://azure.microsoft.com/en-us/services/sql-database/
Be sure you check the single database pricing. Unless you want the elastic scaling and performance.
I'm not sure about the cost part, but the fastest and most stable (IMHO) would be to use Remote Desktop. Either to a user's workstation or to a server set up for it.
We have migrated our backend to SQL Server from MS Access for obvious reasons. Our users access the front end off a VPS Hosted in the cloud. Connection string ODBC. It is robust and fast.
we are currently using a VPS. Looks cheaper and easy to access ;
https://clients.databasemart.com/aff.php?aff=275

vb.net offline and DBdatabase online. How to connect

I have not found enough information about this online but I am sure that is possible. I want to have a vb.net application in my computer and connect to a database in my hosting to add records.
Also, I want to access the database online to see those records from away from home. Kind of like having my own phone book online in my hosting..
Can someone point me in the right direction.
1. Do I use access or mysql?
2. Do I set up the connection string using a ftp or something different?
3. I want to develop in asp.net
Thanks to all
Access is probably not a good fit, as it is not really reliable across an Internet connection, so I would go with MySQL. Unless you want to consider SQL Server, which has better out-of-the-box support in Visual Studio.
For a server-based database (MySQL or SQL Server), your connection string will include the server address provided by your host and possibly a port. If you insist on using a file-based database (Access or SQL Server CE), the database will probably be on a shared folder on the host, and the connection string will include the path to that shared folder.
If you are developing in ASP.NET, your host may limit your choice of database.

Database procedures and functions vs web services

In our development team we have:
4 developers
one application uses PHP and database Microsoft SQL Server 2008r2, except one using PowerBuilder instead of PHP and one using MySql instead of Microsoft SQL Server
All applications are database-centered, some of them are for general public, some are not.
Question is: for the procedures and functions shared by all applications, what does it make most sense to use, database procedures/functions or web services?
We could not find an agreement within the team.
Whatever you answer, please explain the reasons.
Webservices and Database Proc/Functions are two entirely different things.
Webservices are the services over the web, mainly used when a client and a server interact and client interacts with the server through web or HTTP or any other protocol.
Database proc/func - are created to interact with a login to a DB server.
In your case, if all the application are in the same domain... then you dont need to access through webservices and also it is a lot of overhead.
You can create a common DB server , where you can keep these proc/func and can be consumed by all.

Simple VB/SQL app and AZURE

I have a simple ms sql 2012 express database & a simple VB Express 2010 application as its front end.
Can I simply host my MS SQL database on Azure & update the application to interrogate the hosted database? This would mean, the application would still be local, but the DB would be hosted. My offices are distributed & if we could do this it would save quite a bit of hassle.
Do I need to use a virtual machine, cloud services or straight hosting? Its difficult for me to understand the subtleties each service.
I've had a look at the azure services information and the documentation is pitched a little high for me. I just wanted to know if this is relatively simple thing to do & if anyone has has any pointers to How To's or Noob guides to azure.
It's absolutely possible and in fact, super easy to set up.
Check out this simple step-by-step instruction on how to set up SQL Server DB on Windows Azure - https://www.windowsazure.com/en-us/develop/net/common-tasks/sql-azure-management/
You can even connect to it from your SQL Server Management Studio just like you would connect to a local database or a database on your network.
Ideally - yes, you can change the connection string used by the VB desktop app to reference the Windows Azure SQL Database instance instead of the local database. That said, SQL Database is not 100% compatible with SQL Server. Be sure to check out the differences at http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx
Can I simply host my MS SQL database on Azure & update the application
to interrogate the hosted database?
Yes, your SQL Azure database is accessible via a connection string, but you have to make sure that you create a firewall rule in SQL Azure to allow your locally hosted or remotely hosted applications to access the database. Everything is turned off by default.
Do I need to use a virtual machine, cloud services or straight
hosting?
I'm not exactly sure what you're asking here, but a VM may be overkill, as that gives you basically a place to host a VM in Azure. You control the O/S, patching, etc. A cloud service (a web or worker role) is a little less maintenance heavy as the O/S, patches, updates, etc. are maintained by Azure and you just worry about your application. Straight hosting - are you talking about hosting on 1&1 or GoDaddy or something? If so, that's really no different than your VB app running locally and accessing your Azure database. For this option, just make sure you have your firewall rules set properly, otherwise you won't be able to access the database.
Hopefully this helps. Good luck!
Azure has some specific requirements that need to be met (like every table has to have a Clustered Index), and it does not support some functionality that is available on "normal" SQL Server (like replication, FILESTREAM data, or data compression).
Other than that, as long as your app meets the requirements, there should not be a reason for it not to work on Azure. The majority of the functionality not supported by Azure is most likely out6 of the scope of what a "noob" would implement, so you probably are safe.
However, Azure might be overly expensive for your needs. It might be cheaper to go for hosting the database somewhere. This would mean you would only have to change the connection string of the application to point to the new database server (though there could be additional limitations imposed by your hosting provider).
Good luck with whichever option you end up taking!

shared hosting and sql server environment security

I was readin this month edition of SQL Server Magazine and in an article about securing Sql Server environment , the author mentioned that developer should try to have the website and the databases run in separate servers for security. I have a shared hosting account and was wondering if it makes sense to buy a second account to move all databases there. Or does it only make sense when using dedicated servers? How would it affect performances on my website?
I use asp.net and have a hosting account with DisountAsp
That article probably doesn't apply to your situation. Running the database on a separate server is a measure to protect against root compromise of the web server hosting machine. I a shared hosting environment the same situation would result in compromising all accounts on that machine anyway. Depending on the particular settings of your hosting, your account database may alreayd be on a separate server.
Besides, with a shared hosting account is very unlikely you'll even be able to query a database from another account.
If you buy a second server, what will it be, a VPS? I imagine you will get more CPU cycles on a VPS with a dedicated database server than a dedicated machine with multiple databases, but who really knows.
Still, your host isn't running websites on their shared database servers, so what's the difference, security wise?
Performance would me my number one driving factor. I mean if someone compromises your web server, unless your connection strings are encrypted, they've got what they need to connect to the DBs.

Resources