CentOS7 开启3306端口


Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口

1.systemctl start firewalld 开启防火墙

2.firewall-cmd --zone=public --add-port=3306/tcp --permanent

命令含义:

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

3.firewall-cmd --reload


Linux如何查看端口状态


  1. 在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
  2. netstat命令各个参数说明如下:
  3. -t : 指明显示TCP端口

      -u : 指明显示UDP端口

      -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

      -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

      -n : 不进行DNS轮询,显示IP(可以加速操作)

  4. 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况--
  5. netstat -ntlp   //查看当前所有tcp端口-

    netstat -ntulp |grep 80   //查看所有80端口使用情况-

    netstat -an | grep 3306   //查看所有3306端口使用情况-


数据库设计-第四周


select命令.jpg

select  字段名列表  from 表名  where 条件
select xh,xm,xb from xsinfo where  性别='男'
查询满足条件的记录(元组)

--列的选择 投影
select 字段名列表 from 表名
--字段名列表 :字段名1,字段名2,......

(1) 所有的列:*
(2)列名指定别名

  1. 字段名 as 别名
  2. id as 序号,score as 成绩 from grade
  3. 别名=字段名
  4. 序号=id,成绩=score from grade

(3)表达式
select id,score+10 as nscore from grade

--行的选择:筛选满足条件的记录

   select * from grade where score>=80

select * from 表名 where 条件

1、简单条件
性别='男' 职称='工程师' >  <  >=  <>  等

2、between and 条件
select *  from cjinfo where score between 60 and 80

3、复合条件
条件1   and 条件2
条件1  or 条件2
性别='男' <=>  not 性别='女'

4、模糊匹配
% 任意一串字符
select * from xsda where xm like '李%'
_ 任意一个字符
select * from xsda where xm like '李_'
select * from xsda where xm like '李_ _'

select * from xsda where xm in('张三','李四','王五')
<=> select * from xsda where xm='张三' or xm='李四' or xm='王五'
select  xh,xm,xb from xsda where xh in(select xh from cjinfo where kc='数据库设计')

create table 员工

(

员工编号 int primary key,

姓名 varchar(20) not null,

性别 char(2) default '男' check(性别='男' or 性别='女'),

出生年月 smalldatetime,

聘任日期 smalldatetime,

工资 money check(工资 between 800 and 100000),

部门编号 int foreign key(部门编号) references 部门(部门编号)

)

select 表达式列表 from 表名 where 条件
条件:

一、简单条件

工资>10000 性别='男'

二、复合条件

1、not and or

性别='男'  and 职称='工程师'
性别='男' or 职称='工程师'
not 性别='男'  <=> 性别='女'
工资>10000  <=> not 工资<=10000

2、between

工资 between 1000 and 10000
<=> 工资>=1000 and 工资<=10000

3、like 条件(模糊匹配)

%  任意一串字符
姓名 like '张%'
姓名 like '%杰%'
_ 任意一个字符
姓名 like '张_'
姓名 like '张_ _'

4、in 条件

select * from xsinfo where 姓名 in ('张三','李四','王五')
<=> select * from xsinfo where 姓名='张三' or  姓名='李四' or 姓名='王五'
学生信息表 xsinfo(xh,xm,xb)
200101 张三  男
200102 李四 女
200103 五五 男
选课信息表courseInfo(courseid,coursename,score,xh)
01 数据库设计  200101
01 数据库设计 200102
02 程序设计 200101
02 程序设计 200103
03 AI界面设计  200102
200104 孙六 女
显示已选课学生的名单
select * from xsinfo where xh in (select xh from courseinfo where coursename='数据库设计')
选了数据库设计课程的学生名单

5、exists条件

显示已选课学生的名单
select from xsinfo where exists ( select from courseinfo where xsinfo.xh=courseinfo.xh)
显示未选课学生的名单
select from xsinfo where not exists ( select from courseinfo where xsinfo.xh=courseinfo.xh)


三种数据模型---层次模型、网状模型以及关系模型


一、层次数据模型

  定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。

  其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。

  特征:树的性质决定了树状数据模型的特征

     1. 整个模型中有且仅有一个节点没有父节点,其余的节点必须有且仅有一个父节点,但是所有的节点都可以不存在子节点;

     2. 所有的子节点不能脱离父节点而单独存在,也就是说如果要删除父节点,那么父节点下面的所有子节点都要同时删除,但是可以单独删除一些叶子节点;

     3. 每个记录类型有且仅有一条从父节点通向自身的路径;


数据库设计中的英文术语表


Access method(访问方法):此步骤包括从文件中存储和检索记录。

Alias(别名):某属性的另一个名字。在SQL中,可以用别名替换表名。

Alternate keys(备用键,ER/关系模型):在实体/表中没有被选为主健的候选键。

Anomalies(异常)参见更新异常(update anomalies)

Application design(应用程序设计):数据库应用程序生命周期的一个阶段,包括设计用户界面以及使用和处理数据库的应用程序。

Attribute(属性)(关系模型):属性是关系中命名的列。

Attribute(属性)(ER模型):实体或关系中的一个性质。

Attribute inheritance(属性继承):子类成员可以拥有其特有的属性,并且继承那些与超类有关的属性的过程。

Base table(基本表):一个命名的表,其记录物理的存储在数据库中。

Binary relationship(二元关系):一个ER术语,用于描述两个实体间的关系。例如,panch Has Staff。

Bottom-up approach(自底向上方法):用于数据库设计,一种设计方法学,他从标识每个设计组建开始,然后将这些组件聚合成一个大的单元。在数据库设计中,可以从表示属性开始底层设计,然后将这些属性组合在一起构成代表实体和关系的表。

Business rules(业务规则):由用户或数据库的管理者指定的附加规则。

Candidate key(候选键,ER关系模型):仅包含唯一标识实体所必须得最小数量的属性/列的超键。

Cardinality(基数):描述每个参与实体的可能的关系数目。

Centralized approach(集中化方法,用于数据库设计):将每个用户试图的需求合并成新数据库应用程序的一个需求集合

Chasm trap(深坑陷阱):假设实体间存在一根,但某些实体间不存在通路。

Client(客户端):向一个或多个服务器请求服务的软件应用程序。

Clustering field(群集字段):记录总的任何用于群集(集合)航记录的非键字段,这些行在这个字段上有相同的值。

Clustering index(群集索引):在文件的群集字段上定义的索引。一个文件最多有一个主索引或一个群集索引。

Column(列):参加属性(attribute)。

Complex relationship(复杂关系):度数大于2的关系。

Composite attribute(复合属性):由多个简单组件组成的属性。

Composite key(复合键):包含多个列的主健。

Concurrency control(并发控制):在多用户环境下同时执行多个十五并保证数据完整性的一个DBMS服务。

Constraint(约束):数据库不允许包含错误数据的一致性规则。

Data conversion and loading(数据转换和加载):数据库应用生命周期重的一个阶段,包括转换现有数据到新数据库中以及酱下耨应用程序转换到新的数据库上运行。

Data dictionary(数据字典):参见系统目录(system catalog)。

Data independence(数据独立性):使用数据的应用程序的数据描述部分。这意味着,如果将新的数据结构添加到数据库中,或者数据库中现有的结构被修改了,那么使用此数据库的就会受到影响,除非应用程序不直接依赖于被修改的部分。

Data model(数据模型):描述数据、数据间关系以及数据的约束的概念的一个集成的集合。

Data redundancy(数据冗余):参见冗余数据(redundant data)。

Data security(数据安全):包括对数据库对象(如表和视图)的访问和使用以及用户可以在这些对象上实施的操作。

Database(数据库):是逻辑上相关的数据(以及这些数据的描述)的一个共享的集合,用于解决公司对信息的需求。

Database design(数据库设计):数据库应用生命周期中的一个阶段,包括创建一个支持公司的操作和目标的数据库的设计。

Database integrity(数据库完整性):指存储数据的正确定和一致性。完整性通常用约束来表达。

Database Management System,DBMS(数据库管理系统):一个能够让用户定义、创建和维护数据库并控制对数据库的访问的软件系统。

Database planning(数据库规划):能尽可能有效的实现数据库应用的各阶段的管理活动。

Database server(数据库服务器):同服务器。

DBMS engine(DBMS引擎):同服务器。

DBMS selection(DBMS选择):数据库应用生命周期中的一个阶段,包括选择一个合适的DBMS来支持数据库应用。

Degree of a relationship(关系的度):一个关系中参与的实体的个数。

Denormalization(反规范化):形式上,这个术语指的是对基本表结构的修改,这样新的表比原始的表的规范化程度要低。但也可以用此属于更宽泛地形容将两个表和并成一个新表的情形,而这个新表与原来的表具有相同的范式,但比原表包含更多的空值。

Derived attribute(派生属性):表示其值可以从一个相关属性和属性集的值派生得到的属性,这个属性在实体中不是必须的。

Design methodology(设计方法学):一种结构化的方法,它使用过程、工具和文档来支持和简化设计过程。

Disjoint constraint(无连接约束):描述子类的成员间的关系,并指明超类某个成员是否有可能成为一个或多个子类的成员。

Domain(域):一个或多个属性的取值范围。