Skip to content

Commit 48758e0

Browse files
committed
更新了数据库部分的文档
1 parent d9ec811 commit 48758e0

File tree

4 files changed

+107
-11
lines changed

4 files changed

+107
-11
lines changed

Day31-35/31-35.玩转Linux操作系统.md

Lines changed: 87 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,12 @@
2626

2727
3. 1969年:MULTICS项目失败,Ken Tompson赋闲在家,为了玩“Space Travel”游戏用汇编语言在当时已经被淘汰的PDP-7上开发了Unics。
2828

29-
![](./res/ken_young.jpg)
30-
31-
![](./res/pdp-7.png)
32-
3329
> 注:很难想象,Unix这么伟大的系统,居然是一个赋闲在家的程序员(关键是老婆回娘家还带上了孩子)在一台被淘汰的设备上为了玩游戏开发出来的。
3430
3531
4. 1970年~1971年:Ken Tompson和Dennis Ritchie用B语言在PDP-11上重写了Unics,并在Brian Kernighan的建议下将其更名为Unix。
3632

37-
![](./res/dmr.png)
38-
3933
![](./res/ken-and-dennis-pdp-11.png)
4034

41-
![](./res/pdp-11.jpg)
42-
4335
5. 1972年~1973年:Dennis Ritchie发明了C语言来取代可移植性较差的B语言,并开启了用C语言重写Unix的工作。
4436

4537
6. 1974年:Unix推出了里程碑意义的第5版,几乎完全用C语言来实现。
@@ -1768,6 +1760,93 @@ build environment:
17681760
key semid owner perms nsems
17691761
```
17701762
1763+
### Shell编程
1764+
1765+
之前我们提到过,Shell是一个连接用户和操作系统的应用程序,它提供了人机交互的界面(接口),用户通过这个界面访问操作系统内核的服务。Shell脚本是一种为Shell编写的脚本程序,我们可以通过Shell脚本来进行系统管理,同时也可以通过它进行文件操作。总之,编写Shell脚本对于使用Linux系统的人来说,应该是一项标配技能。
1766+
1767+
互联网上有大量关于Shell脚本的相关知识,我不打算再此对Shell脚本做一个全面系统的讲解,我们通过下面的代码来感性的认识下Shell脚本就行了。
1768+
1769+
例子1:输入两个整数m和n,计算从m到n的整数求和的结果。
1770+
1771+
```Shell
1772+
#!/usr/bin/bash
1773+
printf 'm = '
1774+
read m
1775+
printf 'n = '
1776+
read n
1777+
a=$m
1778+
sum=0
1779+
while [ $a -le $n ]
1780+
do
1781+
sum=$[ sum + a ]
1782+
a=$[ a + 1 ]
1783+
done
1784+
echo '结果: '$sum
1785+
```
1786+
1787+
例子2:自动创建文件夹和指定数量的文件。
1788+
1789+
```Shell
1790+
#!/usr/bin/bash
1791+
printf '输入文件名: '
1792+
read file
1793+
printf '输入文件数量(<1000): '
1794+
read num
1795+
if [ $num -ge 1000 ]
1796+
then
1797+
echo '文件数量不能超过1000'
1798+
else
1799+
if [ -e $dir -a -d $dir ]
1800+
then
1801+
rm -rf $dir
1802+
else
1803+
if [ -e $dir -a -f $dir ]
1804+
then
1805+
rm -f $dir
1806+
fi
1807+
fi
1808+
mkdir -p $dir
1809+
index=1
1810+
while [ $index -le $num ]
1811+
do
1812+
if [ $index -lt 10 ]
1813+
then
1814+
pre='00'
1815+
elif [ $index -lt 100 ]
1816+
then
1817+
pre='0'
1818+
else
1819+
pre=''
1820+
fi
1821+
touch $dir'/'$file'_'$pre$index
1822+
index=$[ index + 1 ]
1823+
done
1824+
fi
1825+
```
1826+
1827+
例子3:自动安装指定版本的Redis。
1828+
1829+
```Shell
1830+
#!/usr/bin/bash
1831+
install_redis() {
1832+
if ! which redis-server > /dev/null
1833+
then
1834+
cd /root
1835+
wget $1$2'.tar.gz' >> install.log
1836+
gunzip /root/$2'.tar.gz'
1837+
tar -xf /root/$2'.tar'
1838+
cd /root/$2
1839+
make >> install.log
1840+
make install >> install.log
1841+
echo '安装完成'
1842+
else
1843+
echo '已经安装过Redis'
1844+
fi
1845+
}
1846+
1847+
install_redis 'http://download.redis.io/releases/' $1
1848+
```
1849+
17711850
### 相关资源
17721851
17731852
1. Linux命令行常用快捷键

Day36-40/36-38.关系型数据库MySQL.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616

1717
- 编程语言:结构化查询语言(SQL)。
1818

19-
4. E-R图。
19+
4. E-R图 / 概念模型图。
20+
21+
![](./res/concept-model-graph.png)
22+
2023
- 实体 - 矩形框
2124
- 属性 - 椭圆框
2225
- 关系 - 菱形框
@@ -165,9 +168,10 @@
165168
? longblob;
166169
```
167170
168-
169171
### SQL详解
170172
173+
#### 基本操作
174+
171175
1. DDL
172176
173177
```SQL
@@ -419,6 +423,12 @@
419423
revoke insert, delete, update on school.* from 'hellokitty'@'%';
420424
```
421425
426+
#### 视图
427+
428+
#### 索引
429+
430+
#### 过程
431+
422432
### 相关知识
423433
424434
#### 范式理论 - 设计二维表的指导思想
@@ -430,15 +440,22 @@
430440
#### 数据完整性
431441
432442
1. 实体完整性 - 每个实体都是独一无二的
443+
433444
- 主键(primary key) / 唯一约束 / 唯一索引(unique)
434445
2. 引用完整性(参照完整性)- 关系中不允许引用不存在的实体
446+
435447
- 外键(foreign key)
436448
3. 域完整性 - 数据是有效的
437449
- 数据类型及长度
450+
438451
- 非空约束(not null)
452+
439453
- 默认值约束(default)
454+
440455
- 检查约束(check)
441456
457+
> 说明:在MySQL数据库中,检查约束并不起作用。
458+
442459
#### 数据一致性
443460
444461
1. 事务:一系列对数据库进行读/写的操作。

Day36-40/res/concept-model-graph.png

439 KB
Loading

玩转PyCharm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## 玩转PyCharm
22

3-
PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补全、单元测试、版本控制等等。此外,PyCharm还提供了对一些高级功能的支持,包括支持基于Django框架的Web开发
3+
PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补全、单元测试、版本控制等等。此外,PyCharm还提供了对一些高级功能的支持,包括支持基于Django框架的Web开发。
44

55
### PyCharm的安装
66

0 commit comments

Comments
 (0)