http://www.gmarmy.com

                                                                  【五分28注册】php中数据库怎么设计-PHP问题

                                                                  第一步一般都是创建数据库,除非是使用第三方的数据库服务。

                                                                  当创建一个数据库的时候,会指定一个所有者来执行和新建语句。,

                                                                  通常,只有所有者(或超级用户)才有权对数据库中的对象进行任意操作。

                                                                  如果想让其他用户使用,就必须赋予他们权限。(推荐学习:PHP编程从入门)到精通)

                                                                  应用程序永远不要使用数据库所有者或超级用户帐号来]连接数据库,因为这些帐号可以执行任意的操作,比如说修改数据库结构(例(如删除一个表)或者清空整个数据库的内容。

                                                                  应该为程序的每个方面创建不同的数据库帐号,并赋予对数据库对象的极有限的权限。

                                                                  仅分配给能完成其功能所需的权限,避免同一个用户可以完成另一个用户的事情。这样即使攻击者利用程序漏洞取得了数据库的访问权限,也最多只能做到和该程序一样的影响范围。

                                                                  鼓励用户不要把所有的事务逻辑都用 web 应用程序(即用户的脚本)来实现。

                                                                  最好用视图(view)、触发器(trigger)或[者规则(rule)在数据库层面完成。当系统升级的时候,需要为数据库开辟新的接口,这时就必须重做所有的数据库客户端。

                                                                  除此之外,触发器还可以透明和自动地处理字段,并在调试程序和跟踪事实时提供有用的信息。

                                                                  如:利用单例模式(Singleton)创建数据库连接类

                                                                  数据库连接对象通常会在整个项目中被共享使用,没有必要在每一次使用时都实例化一个对象,不仅低效而且浪费资源。因此采用单例模式的类来确保它在整个应用系统中是唯一的。

                                                                  单例模式的类通常是采用静态的类方法 getInstance() 来实现的,这个静态方法只返回一个该类的唯一实例。在第一次调用此方法时,该方法将创建一个实例,存放在一个私有的静态变量中,并返回该实例。在下一次调用时,将不再创建新的实例,而是返回第一次所创建的实例。

                                                                  采用单例模式的类的构造函数通常设为私有,以便防止直接实例化该类而创建新的实例。

                                                                  <?phpClass DBConnect {    private static $Instance = null;    public static function getInstance() {        if( !isset(self::$Instance) ) {            self::$Instance = new self();        }        return self::$Instance;            }    private function __construct() { … }    private function __clone() {}}?>

                                                                  以上就是php中数据库怎么设计的详细内容,更多请关注php中文网其它相关文章!

                                                                1. 微信
                                                                2. 分享php中文网最新课程二维码相关标签:php
                                                                3. 郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:清华大学魏少军:2018年集成电路贸易逆差创历史新高,达2275亿美元 - 集成电路
                                                                  下一篇:没有了